How To's‎ > ‎

VNC over SSH Tunnel

This brief tutorial is meant to help users configure their VNC Client to connect to thier VNC Server over SSH Tunnel.

Lets begin with describing few terminologies that might be useful to know.

    SSH stands for secure shell and is a cryptographic protocol which allows users to securely connect and communicate over a public network.
SSH Tunnel:
    SSH Tunnel is used to describe the encrypted pathway that utilizes the capability of SSH protocol to secure communication. It allows users to wrap their communication using SSH protocol. 
VNC Server:
    The VNC Server is a computer which allows users to connect to it via RFB (Rate Frame Buffer) protocol. This will be mostly managed by your sysadmin.
VNC Client:
    This is a small application that allows you to communicate with VNC Server. Users will need to download and install the client. You can also download a portable executable version of VNC Client.
    Tight VNC is a VNC service package that has both vnc server and vnc client. You will be needing vnc client to connect to the remote computer.

Windows Machine
1. Download TightVNC viewer on your computer. Since it is a java application it should run on Linux, Windows and MacOS if you have Java installed.
2. Extract the zip file.
3. Find the tightvnc-jviewer.jar file and run it. If you have java installed it should run on your machine giving you a dialog box as shown below.

4. Following is the brief description of the fields in the vnc-viewer client.
Remote Host: It is the address of the host you are connecting to. Since you are creating an SSH tunnel and a local proxy, it is localhost in this case.
Port: It is the port we want to forward our local port to on the SSH server. Since vnc server runs on (5900 + n) port we put the appropriate port in the field. In our case since it runs on default :1 the port is (5900+1=5901).
Use SSH tunneling: Since we are tunneling through ssh it the check-box is marked.
SSH Server: The filed contains the SSH server we want to connect to. Obtain it from the sysadmin.
SSH Port: It is the port SSH server runs on remote machine. The default is 22.
SSH User: It is the username on the remote machine whose session you want to connect to.
5. Once you fill in all the text fields you are ready to connect to your VNC server. The connection should be encrypted using the SSH encryption.