How To Install xrdp on CentOS 8 / Red Hat Enterprise Linux 8

0

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.

The steps mentioned in this article will only work if you have enabled subscription on RHEL 8 or configured the local yum repository on your system.

Prerequisites

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) <[email protected]>"
 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.

Enter IP Address in Remote Desktop Connection Window
Enter IP Address in Remote Desktop Connection Window

Click Yes to accept the warning of RDP certificate name mismatch.

Accept the Certificate
Accept the Certificate

Log in as a regular user that you have it on the system. Make sure you use the Xvnc module.

xrdp Login Page
xrdp Login Page

Wait for the remote desktop session to load. You should get your desktop session in less than a half minute.

CentOS 8:

CentOS 8 Desktop Screen
CentOS 8 Desktop Screen

RHEL 8:

Install xrdp on RHEL 8 - RHEL 8 Desktop Screen
Install xrdp on RHEL 8 – RHEL 8 Desktop Screen

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.

You might also like