This article is the second half of a two-part series on secure remote desktop sharing with VNC. If you missed the first part, which appeared Monday on ASP Free, I'd suggest skimming through it, at least. The first part was an introduction to VNC connections and it focused on Windows. This one will get into the depths of configuration, optimization and explain ways to set up and benefit from VNCs on Linux platforms too.
You don't want to miss this article. Reading it should help you realize the "big picture," and that the key terms, methods and techniques will fit into a whole just like puzzle pieces. The language of this part might be a bit more advanced but I'm trying to give you tons of real-world examples and instructions. Nonetheless, I'm sure that your level of experience and knowledge with Linux operating systems will be more than enough.
Before moving on, I'd advise checking your firewall settings (both software and hardware, if there are any), configure your router's SSH port forwarding, and make sure you have an SSH server up and running. If you don't, then head over to OpenSSH and grab it. Throughout this article I will assume that the reader has SSHd (daemon = server) and has no router and/or firewall related issues. The purpose of this article is to focus mainly on VNC.
Installing and Running TightVNC with SSH Tunneling
Every now and then installing a new application might become tricky, especially if we want to install a somewhat secure server. Throughout this section I'm going to lead you through the installation process of the TightVNC Server and then we're going to secure it via the famous SSH tunneling technique.
Considering that you're running Linux you should be already familiar with installing and configuring applications on this OS. Depending on your distribution some of the commands and paths might change; in that case, all you need to do is customize them as required. You'll get the drift.
Why TightVNC you might ask? It's simple. We already discussed in the first part that not all of the VNC clients have server-side. My personal favorite is TightVNC. It has a lot of advantages, performance optimizations and enhanced features compared to the standard VNC (i.e., efficient compression algorithms, configurable compression levels, optional JPEG compression, enhanced web browser access, flexible configuration options and automatic SSH tunneling on UNIX-that's what we need).
Visit this link and download the latest release of TightVNC for Linux. Currently, at the time of writing this article, the '1.2.9-1' version is the latest. For beginners I'd really suggest downloading the RPM package. In that case you should download "tightvnc-server-1.2.9-1.i386.rpm." Log in to 'root' or a specific 'VNC user' and get ready!