Install xrdp on CentOS 7 / RHEL 7
xrdp is an Open Source Remote desktop Protocol server, which allows you to RDP to your Linux server from Windows machine; it is capable of accepting connections from rdesktop, freerdp, and remote desktop clients.
This post will help you to setup xrdp server on CentOS 7 / RHEL 7.
Prerequisites
1. First, install Gnome GUI on CentOS 7 / RHEL 7
2. xrdp is available in EPEL repository, so Install and configure EPEL repository.
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Install xrdp on CentOS 7
Use YUM command to install xrdp package on CentOS 7 / RHEL 7.
yum -y install xrdp tigervnc-server
Output:
Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: centos.excellmedia.net * epel: del-mirrors.extreme-ix.org * extras: centos.excellmedia.net * updates: centos.excellmedia.net Resolving Dependencies --> Running transaction check ---> Package tigervnc-server.x86_64 0:1.8.0-2.el7_4 will be installed ---> Package xrdp.x86_64 1:0.9.5-1.el7 will be installed --> Processing Dependency: xorgxrdp for package: 1:xrdp-0.9.5-1.el7.x86_64 --> Running transaction check ---> Package xorgxrdp.x86_64 0:0.2.5-3.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================= Package Arch Version Repository Size ================================================================================================= Installing: tigervnc-server x86_64 1.8.0-2.el7_4 updates 213 k xrdp x86_64 1:0.9.5-1.el7 epel 413 k Installing for dependencies: xorgxrdp x86_64 0.2.5-3.el7 epel 61 k Transaction Summary ================================================================================================= Install 2 Packages (+1 Dependent package) Total download size: 688 k Installed size: 2.7 M Downloading packages: warning: /var/cache/yum/x86_64/7/epel/packages/xrdp-0.9.5-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY Public key for xrdp-0.9.5-1.el7.x86_64.rpm is not installed (1/3): xrdp-0.9.5-1.el7.x86_64.rpm | 413 kB 00:00:01 (2/3): tigervnc-server-1.8.0-2.el7_4.x86_64.rpm | 213 kB 00:00:01 (3/3): xorgxrdp-0.2.5-3.el7.x86_64.rpm | 61 kB 00:00:01 ------------------------------------------------------------------------------------------------- Total 409 kB/s | 688 kB 00:00:01 Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Importing GPG key 0x352C64E5: Userid : "Fedora EPEL (7) <[email protected]>" Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 Package : epel-release-7-11.noarch (installed) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Running transaction check Running transaction test Transaction test succeeded Running transaction Warning: RPMDB altered outside of yum. Installing : xorgxrdp-0.2.5-3.el7.x86_64 1/3 Installing : 1:xrdp-0.9.5-1.el7.x86_64 2/3 Installing : tigervnc-server-1.8.0-2.el7_4.x86_64 3/3 Verifying : xorgxrdp-0.2.5-3.el7.x86_64 1/3 Verifying : tigervnc-server-1.8.0-2.el7_4.x86_64 2/3 Verifying : 1:xrdp-0.9.5-1.el7.x86_64 3/3 Installed: tigervnc-server.x86_64 0:1.8.0-2.el7_4 xrdp.x86_64 1:0.9.5-1.el7 Dependency Installed: xorgxrdp.x86_64 0:0.2.5-3.el7 Complete! </[email protected]>
Once xrdp is installed, start the xrdp service using the following command.
systemctl start xrdp
xrdp should now be listening on 3389. You can confirm this by using netstat
command.
netstat -antup | grep xrdp
Output:
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN 1508/xrdp tcp 0 0 127.0.0.1:3350 0.0.0.0:* LISTEN 1507/xrdp-sesman
READ: netstat command not found on CentOS 7 / RHEL 7 – Quick Fix
By default, xrdp service won’t start automatically after a system reboot. Run the following command in the terminal to enable the service at system startup.
systemctl enable xrdp
Firewall
Configure the firewall to allow RDP connection from external machines. The following command will add the exception for RDP port (3389).
firewall-cmd --permanent --add-port=3389/tcp firewall-cmd --reload
SELinux
Configure SELinux
chcon --type=bin_t /usr/sbin/xrdp chcon --type=bin_t /usr/sbin/xrdp-sesman
Test xrdp Remote Connectivity
Now take RDP from any windows machine using Remote Desktop Connection. Enter the ip address of Linux server in the computer field and then click on connect.
You may need to ignore the warning of RDP certificate name mismatch.
You would be asked to enter the username and password. You can either use root or any user that you have it on the system. Make sure you use module “Xvnc
“.
If you click ok, you will see the processing. In less than a half minute, you will get a desktop.
That’s All. You have successfully configured xRDP on CentOS 7 / RHEL 7.