How to: Install Xrdp (Remote Desktop) on CentOS 8 – (How to: Use Windows to remote control CentOS 8)

Last Updated on

Xrdp is an open-source implementation of the Microsoft Remote Desktop Protocol (RDP) that allows you to graphically control a remote system

1 If you don’t have GUI/Desktop Environment installed on your CentOS 8, install it by using following command

sudo dnf groupinstall "Server with GUI"

2 Install EPEL repo stands for Extra Packages for Enterprise Linux Repository

sudo dnf -y install epel-release

3 Install xrdp

sudo dnf -y install xrdp

4 (To enable the service on boot and start it now)

sudo systemctl enable xrdp --now

5 (Just start the service without enable it on boot)

sudo systemctl start xrdp

6 Check status of xrdp

sudo systemctl status xrdp

7 Configure Xrdp

Add

exec gnome-session

to the end of the configuration file

/etc/xrdp/xrdp.ini

Or use following command to add “exec gnome-session” to the end of the “/etc/xrdp/xrdp.ini” configuration file

sudo bash -c 'echo "exec gnome-session" >> /etc/xrdp/xrdp.ini'

8 Restart xrdp to load the new configuration

sudo systemctl restart xrdp

9 Configure firewall to allow incoming connection to xrdp

(To allow incoming connection from anywhere to port 3389)

sudo firewall-cmd --add-port=3389/tcp --permanent
sudo firewall-cmd --reload

(To only allow incoming connection from LAN e.g. 10.0.0.0/24 to 3389 port)

sudo firewall-cmd --new-zone=xrdp --permanent
sudo firewall-cmd --zone=xrdp --add-port=3389/tcp --permanent
sudo firewall-cmd --zone=xrdp --add-source=10.0.0.0/24 --permanent
sudo firewall-cmd --reload

Note: More secure way to do is to USE VPN then connect to xrdp server or only accept incoming connection to port 3389 from localhost then setup SSH tunnel to securely forward traffic from your local server on port 3389 to the server on the same port.

Now we use Windows Remote Desktop Connection to connect to the CentOS 8 via xrdp.


Leave a Reply

Your email address will not be published. Required fields are marked *