xrdp is a free and open-source Remote desktop Protocol server which allows you to take remote desktop sessions of Linux server from Windows machine / Linux Machine. It is capable of accepting remote connections from rdesktop, freerdp, and remote desktop clients.
This post will help you to install xrdp on CentOS 8 / RHEL 8.
Prerequisites
Contents
Setup EPEL Repository
xrdp package is available on EPEL repository. So, we need to enable the EPEL repository on CentOS 8 / RHEL 8 to install xrdp.
CentOS 8
yum install -y epel-release
RHEL 8
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Install Gnome Desktop
Before installing the xrdp server, you would need to install the Gnome desktop using YUM command.
READ: Install Gnome Desktop on CentOS 8 / RHEL 8
Install xrdp on CentOS 8 / RHEL 8
Install xrdp with TigerVNC package.
yum install -y tigervnc-server xrdp
Output:
Last metadata expiration check: 1 day, 5:23:26 ago on Wed 25 Sep 2019 06:04:22 AM EDT. Dependencies resolved. =============================================================================================================== Package Arch Version Repository Size =============================================================================================================== Installing: tigervnc-server x86_64 1.9.0-9.el8 AppStream 252 k xrdp x86_64 1:0.9.11-1.el8 epel 440 k Installing dependencies: xorgxrdp x86_64 0.2.11-1.el8 epel 70 k xrdp-selinux x86_64 1:0.9.11-1.el8 epel 20 k Transaction Summary =============================================================================================================== Install 4 Packages Total download size: 782 k Installed size: 3.0 M Downloading Packages: (1/4): xorgxrdp-0.2.11-1.el8.x86_64.rpm 59 kB/s | 70 kB 00:01 (2/4): xrdp-selinux-0.9.11-1.el8.x86_64.rpm 256 kB/s | 20 kB 00:00 (3/4): xrdp-0.9.11-1.el8.x86_64.rpm 329 kB/s | 440 kB 00:01 (4/4): tigervnc-server-1.9.0-9.el8.x86_64.rpm 179 kB/s | 252 kB 00:01 --------------------------------------------------------------------------------------------------------------- Total 126 kB/s | 782 kB 00:06 warning: /var/cache/dnf/epel-6519ee669354a484/packages/xorgxrdp-0.2.11-1.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY Extra Packages for Enterprise Linux 8 - x86_64 87 kB/s | 1.6 kB 00:00 Importing GPG key 0x2F86D6A1: Userid : "Fedora EPEL (8) <epel@fedoraproject.org>" Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : xorgxrdp-0.2.11-1.el8.x86_64 1/4 Installing : xrdp-selinux-1:0.9.11-1.el8.x86_64 2/4 Running scriptlet: xrdp-selinux-1:0.9.11-1.el8.x86_64 2/4 Installing : xrdp-1:0.9.11-1.el8.x86_64 3/4 Running scriptlet: xrdp-1:0.9.11-1.el8.x86_64 3/4 Installing : tigervnc-server-1.9.0-9.el8.x86_64 4/4 Running scriptlet: tigervnc-server-1.9.0-9.el8.x86_64 4/4 Running scriptlet: xrdp-1:0.9.11-1.el8.x86_64 4/4 Running scriptlet: tigervnc-server-1.9.0-9.el8.x86_64 4/4 Verifying : tigervnc-server-1.9.0-9.el8.x86_64 1/4 Verifying : xorgxrdp-0.2.11-1.el8.x86_64 2/4 Verifying : xrdp-1:0.9.11-1.el8.x86_64 3/4 Verifying : xrdp-selinux-1:0.9.11-1.el8.x86_64 4/4 Installed: tigervnc-server-1.9.0-9.el8.x86_64 xrdp-1:0.9.11-1.el8.x86_64 xorgxrdp-0.2.11-1.el8.x86_64 xrdp-selinux-1:0.9.11-1.el8.x86_64 Complete!
Once xrdp is installed, start the xrdp server service using the systemctl command.
systemctl start xrdp
xrdp should now be listening on 3389. You can confirm this by using the netstat command.
netstat -antup | grep xrdp
Output:
tcp 0 0 127.0.0.1:3350 0.0.0.0:* LISTEN 8067/xrdp-sesman tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN 8068/xrdp
By default, xrdp server service won’t start automatically after a system reboot. Execute the below command to enable the service at system startup.
systemctl enable xrdp
Firewall
Configure the firewall to allow RDP connections from external machines. The below command will add the exception for RDP port (3389).
firewall-cmd --permanent --add-port=3389/tcp firewall-cmd --reload
Access CentOS 8 / RHEL 8 Machine via xrdp
Now, take an RDP session from any windows machine using Remote Desktop Connection program.
Type the IP address of your Linux server in the computer field and then click the Connect.
Click Yes to accept the warning of RDP certificate name mismatch.
Log in as a regular user that you have it on the system. Make sure you use the Xvnc module.
Wait for the remote desktop session to load. You should get your desktop session in less than a half minute.
CentOS 8:
RHEL 8:
Conclusion
You have successfully installed xrdp on CentOS 8 / RHEL 8. xrdp is now accepting TLS security layer connections by which you can secure xrdp connections to the server. Additionally, you can install PulseAudio to do Audio Output Redirection.