# rpm -qi xrdp
Name : xrdp Relocations: (not relocatable)
Version : 0.6.1 Vendor: Fedora Project
Release : 4.el6 Build Date: Fri 17 Jul 2015 03:13:34 AM EDT
Install Date: Fri 22 Jan 2016 10:02:03 AM EST Build Host: buildvm-24.phx2.fedoraproject.org
Group : Applications/Internet Source RPM: xrdp-0.6.1-4.el6.src.rpm
Size : 1542350 License: GPLv2+ with exceptions
Signature : RSA/8, Fri 17 Jul 2015 09:15:44 AM EDT, Key ID 3b49df2a0608b895
Packager : Fedora Project
URL : http://xrdp.sourceforge.net/
Summary : Open source remote desktop protocol (RDP) server
Description :
The goal of this project is to provide a fully functional Linux terminal
server, capable of accepting connections from rdesktop and Microsoft's own
terminal server / remote desktop clients.
Requires daemon to run on level 5 only (this GUI application)
One of the neatest things I discovered recently was how to set up my CentOS desktop so I could RDP
into it from my Windows desktop. Previously I was using VNC which takes a bit of work to set up and
doesn't give you the full desktop view that RDP does. Setting up your box to RDP into it, however,
is cake!
From the command line, simply issue the following 3 commands:
EPEL repository should be enabled.
# yum -y install xrdp
# chkconfig --levels 5 xrdp on
# service xrdp start
# uname -a
Linux ****** 2.6.32-573.7.1.el6.x86_64 #1 SMP Tue Sep 22 22:00:00 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
# yum list | grep xrdp
xrdp.x86_64 0.6.1-4.el6 epel
# yum install xrdp
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: mirror.synergyworks.co.uk
* epel: epel.check-update.co.uk
* extras: mirror.econdc.com
* updates: mirrors.clouvider.net
Resolving Dependencies
Now you can go to your Windows system, open Remote Desktop Connection and put in the ip address
of your Linux system. Of course this only works if you have the X windows system installed and running
on your Linux machine.
"... This is where xRDP comes in play, an open source remote desktop protocol (RDP) server. It actually runs VNC protocol over RDP as far as I understand, yet if behaves much better than VNC by itself (possibly because of the used desktop manager). ..."
"... Windows comes standard with a Remote Desktop client (mstsc.exe – you can start it from a command prompt, or find the shortcut to Remote Desktop under Accessories). ..."
RDP is however a proprietary protocol from Microsoft. So how can we use RDP to control our Ubuntu
box remotely?
This is where xRDP comes in play, an open source
remote desktop protocol (RDP) server. It actually runs VNC protocol over RDP as far as I understand,
yet if behaves much better than VNC by itself (possibly because of the used desktop manager).
Since
Ubuntu 12.10 (if I'm not mistaken), xRDP doesn't seem to work with the Ubuntu desktop anymore unless
you use an alternative desktop manager. This seems related to 3D acceleration and nobody seems to
care (since 2011, according to bug reports).
Note : if you really need Copy/Paste functionality between the two machines, then please
use Ubuntu's default installed "Desktop Sharing" instead (MacOS X users read
this forum post ).
Testing your xRDP connection
On the computer that will remotely control your Ubuntu machine, start you RDP client
-[ by clicking of .rdp file -- NNB]
Windows comes standard with a Remote Desktop client (mstsc.exe – you can start it from a command
prompt, or find the shortcut to Remote Desktop under Accessories).
For a Mac, Microsoft actually has a Remote Desktop Client which can be found in the
Apple App Store , or you can use Cord
(free).
Whichever client you use, most work with either the computer network name or IP address of your
Ubuntu machine.
To find the IP address on your Ubuntu box, type:
hostname -I
Depending on your RDP client capabilities and settings (for example: Microsoft RDP Client allows
automatic login), you might or might not see the login screen.
Here we enter our Ubuntu username and password and click "OK", after which briefly a window will
show with the login process and you'll have access to your Ubuntu machine, even though the desktop
looks different. One downside I've discovered so far is that the clipboard is NOT being synchronized
so Copy and Paste between machines does not work properly.
Yesterday, I setup a new Ubuntu Box with Password (Classic VM) from my Azure
Dashboard ( I am using classing Azure dashboard).
I am able to login using Putty (it means credentials are working).
To access this machine remotely (already setup CDN for Remote Desktop), I followed instructions
mentioned (https://azure.microsoft.com/en-in/documentation/articles/virtual-machines-linux-classic-remote-desktop/)
to setup xRDP - please note that I am trying to access this box from Windows8.1 machine.
All seems to be successfully installed. I tried to remote into my Ubuntu VM:
1. Fire Run -> mstsc.exe (entered hostname/IP and credentials)
I was told by a senior colleague that XRDP (http://sourceforge.net/projects/xrdp/)
is a great way to remotely connect to your Linux servers through windows remote desktop protocol.
It extends an XOrg session through through VNC and then the RDP. Here is how you can get it working
on RHEL6!
sudo yum install gcc make pam-devel openssl-devel vnc-server autoconf automake libtool libX11-devel
libXfixes-devel
tar zxvf xrdp-v0.6.1.tar.gz
cd xrdp-v0.6.1
./bootstrap
./configure
make
sudo make install
Add user(s) to the 100, "users" group to allow them to login via RDP
sudo nano /etc/group
Edit iptables to permit inbound RDP
sudo nano /etc/sysconfig/iptables
add
-F INPUT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3389 -j ACCEPT
sudo service iptables restart
Make it a little more secure by enabling 128 bit 2-way encryption
sudo nano /etc/xrdp/xrdp.ini
Change crypt_level=low to crypt_level=high
Generate a new RSA key
sudo /usr/local/bin/xrdp-keygen xrdp auto
Start XRDP up and then try and connect to it using remote desktop client in Windows
sudo /etc/xrdp/xrdp.sh start
Finally make XRDP auto start as a service.
sudo ln -s /etc/xrdp/xrdp.sh /etc/init.d/xrdp
sudo chkconfig --add xrdp
sudo chkconfig xrdp on
sudo service xrdp start
Generally, Linux servers don't have a desktop environment installed. Our first step is to install X11 and a lightweight
desktop environment that will act as a backend for Xrdp.
There are several desktop environments (DE) available in Ubuntu repositories. We'll be installing
Xfce. It is a fast, stable and lightweight desktop environment, which makes it ideal for usage on a remote server.
Depending on your system, downloading and installing Xfce packages will take some time.
Installing Xrdp
Xrdp package is available in the default Ubuntu repositories. To install it, run:
sudo apt install xrdp
When the installation process is complete the Xrdp service will automatically start. You can verify that Xrdp is running by
typing:
sudo systemctl status xrdp
The output will look something like this:
● xrdp.service - xrdp daemon
Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2019-07-28 22:40:53 UTC; 4min 21s ago
Docs: man:xrdp(8)
man:xrdp.ini(5)
...
Configuring Xrdp
Xrdp configuration files are located in the /etc/xrdp directory. For basic Xrdp connections, we only need to
configure Xrdp to use Xfce. To do so open the following file in your
text editor:
/etc/xrdp/xrdp.ini
sudo nano /etc/xrdp/xrdp.ini
Add the following line at the end of the file:
exec startxfce4
Save the file and restart the Xrdp service:
sudo systemctl restart xrdp
Configuring Firewall
By default, Xrdp listens on port 3389 on all interfaces. If you run a
firewall on your Ubuntu server (which
you should always do), you'll need to add a rule that will enable traffic on the Xrdp port.
To allow access to the Xrdp server from a specific IP address or IP range, in this example 192.168.1.0/24, run
the following command:
sudo ufw allow from 192.168.1.0/24 to any port 3389
If you want to allow access from anywhere (which is highly discouraged for security reasons) run:
sudo ufw allow 3389
For increased security, you may consider setting up Xrdp to listen only on localhost and creating an SSH tunnel that will
securely forwards traffic from your local machine on port 3389 to the server on the same port. Another secure option
is to install OpenVPN and connect to the
Xrdp server trough the private network.
Connecting to the Xrdp Server
Now that you have set up your Xrdp server it is time to open your Xrdp client and connect to the server.
If you are a Windows user you can use the default RDP client. Type "remote" in the Windows search bar and click on "Remote
Desktop Connection". This will open up the RDP client. In the computer Field enter the remote server IP address and click
"Connect".
In the login screen enter your username and
password and click "OK".
Once logged in you should see the default Xfce desktop. It should look something like this:
You can now start interacting with the remote XFCE desktop from your local machine using your keyboard and mouse.
The Last but not LeastTechnology is dominated by
two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt.
Ph.D
FAIR USE NOTICEThis site contains
copyrighted material the use of which has not always been specifically
authorized by the copyright owner. We are making such material available
to advance understanding of computer science, IT technology, economic, scientific, and social
issues. We believe this constitutes a 'fair use' of any such
copyrighted material as provided by section 107 of the US Copyright Law according to which
such material can be distributed without profit exclusively for research and educational purposes.
This is a Spartan WHYFF (We Help You For Free)
site written by people for whom English is not a native language. Grammar and spelling errors should
be expected. The site contain some broken links as it develops like a living tree...
You can use PayPal to to buy a cup of coffee for authors
of this site
Disclaimer:
The statements, views and opinions presented on this web page are those of the author (or
referenced source) and are
not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society.We do not warrant the correctness
of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be
tracked by Google please disable Javascript for this site. This site is perfectly usable without
Javascript.