How I setup my CentOS 6.5 VPS for RDP access

This blog describes how I set up a CentOS 6.5 VPS dev host for RDP access using “Microsoft Remote Desktop” from my Mac.

I have a virtual private server (VPS) that was setup as a vanilla server but I wanted to use it for development which means, among other things, that I wanted to access it remotely using a windowing environment. I also wanted to make it easy for my Windows based colleagues to access it which was the motivation for using the remote desktop protocol (RDP).

Remember, this is only for remote development hosts. Do not do this for production or testing servers because it expands the potential attack surface.

These are the basic configuration steps for installing XRDP on the remote server:

  1. Create one or more users (you do not want to login remotely as root for security).
  2. Install the base necessary packages.
  3. Install the EPEL repository and EPEL packages.
  4. Configure the VNC resolution in /etc/sysconfig/vncservers.
  5. Configure ~/.vnc/xstartup.
  6. Configure the services.
  7. Add additional packages if desired.
  8. Add additional fonts if desired.

Once it has been configured you access it from your local host as follows.

  1. Setup up an SSH tunnel from a local socket to the remote server 3389 socket.
  2. Run an RDP client.

Both configuration and access are described in more detail below.

Configuration

These are the commands that I used to configure it. The output has been snipped to save space. You will see that the example below shows root logging in remotely contrary to my earlier comment. That was done to simplify the steps. In practice you would probably create a sudo user and disable root logins.

Access

Once it is configured you can access by setting up an SSH tunnel and then connecting via an RDP client.

Here is how you setup the SSH tunnel.

Once the tunnel is running you can access via your RDP client using 127.0.0.1:12345. Here is what it looks like from my Mac using “Microsoft Remote Desktop”.

XRDP Screen Shot

Enjoy!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.