gsshvnc (pronounced 'Gosh VNC') is designed to make your otherwise-insecureunencrypted VNC connections secure by making it as simple as possible toestablish an SSH tunnel for the connection.
It is based on the excellent gtk-vncproject that powers Vinagre, but unlikeVinagre uses libssh directly, making it easier toport to Windows and other systems. It is actively supported on Linux andWindows, but should work on other platforms supported by GTK+ 3.0.
How to Connect with an SSH tunnel
Securing WinVNC With SSH. VNC is a free client/server system which allows you to view a computing 'desktop' environment not only on the machine where it is running, but from anywhere on the Internet and from a wide variety of machine architectures. You can combine WinVNC and an SSH port forwarding client/server pair. The diagram above depicts a MacBook (local computer) using SSH to connect remotely to an iMac (remote computer) on a home network. Instead of connecting directly to ports 548 (file sharing) and 5900 (screen sharing) on the iMac, the MacBook tunnels these connections through the SSH connection.
For the simplest case, enable the SSH tunnel via the switch on the connectiondialog, and enter the remote host's address or domain name, and your usernamefor the remote host (if different from your current username). To specify adifferent desktop on the remote host, enter ':<display>' into the'VNC Server' field:
You can also tunnel through an SSH host to a computer on a network that wouldotherwise be inaccessible by specifying the remote host in the 'VNC Server',for example:
![Vnc over ssh Vnc over ssh](/uploads/1/2/5/6/125614649/720003916.png)
When connecting, gsshvnc will try your SSH public keys first, and prompt foran SSH password if that fails. After establishing a tunnel, your VNC servermay prompt for a second password (for your VNC desktop).
Note that gsshvnc can also be used as a 'plain' VNC client without any SSHtunnel by simply turning off the SSH tunnel switch.