XRDP is a wonderful Remote Desktop protocol application that allows you to RDP to your servers/workstations from any Windows machine, MAC running an RDP app or even Linux using an RDP app such as Remmina. This was written for the new CentOS 6.5 on 64-bit but should work the same on any 6.x and 5.x Red Hat clone with the correct EPEL repositories.
Fist we need to download and install the EPEL repository for your correct version if you do now know what architecture you are using you can verify it with the below command. If the end shows x86_64 then you have a 64-bit install, if it shows i386 then it is a 32-bit install:
[root@server ~]# uname -r 2.6.32-431.el6.x86_64
Once you determine your architecture then you can install the correct EPEL repository with the below commands:
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm
You can verify that the EPEL repository is there by running the below command and you should see the EPEL repository listed as you can see here in line #10 which is highlighted:
[root@server ~]# yum repolist Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile * base: mirror.thelinuxfix.com * epel: mirror.cogentco.com * extras: centos.mirror.nac.net * updates: centos.mirror.netriplex.com repo id repo name status base CentOS-6 - Base 6,367 epel Extra Packages for Enterprise Linux 6 - x86_64 10,220 extras CentOS-6 - Extras 14 updates CentOS-6 - Updates 286 repolist: 16,887
Once you have verified the EPEL repository is installed correctly you need to perform the last few steps below this will install XRDP and Tiger VNC Server for you to connect to. The Front end of XRDP uses the RDP protocol and internally it uses VNC to connect and display the Remote Desktop to you.
[root@server ~]# yum install xrdp tigervnc-server [root@server ~]# service vncserver start [root@server ~]# service xrdp start [root@server ~]# chkconfig xrdp on [root@server ~]# chkconfig vncserver on
Once fully installed you should be able to use any RDP client to connect to your machine. When you connect you are brought to the XRDP Login window. For the module keep sesman-Xvnc and just enter your credentials (root, username, etc) and password. Click OK and you will see the processing and you should have your desktop show in a few seconds.
If you are not able to get connected to the XRDP Login window check your iptables settings. If you are using iptables you need to edit your rules and add the port 3389 to the INPUT list. You can use the below commands to accomplish this (note that the port number shows as the service name ms-wbt-server instead of 3389):
[root@server ~]# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3389 -j ACCEPT [root@server ~]# service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ] [root@server ~]# service iptables restart iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ] iptables: Applying firewall rules: [ OK ] [root@server ~]# [root@server ~]# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ms-wbt-server ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT icmp -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) target prot opt source destination REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) target prot opt source destination