8.22. Tunneling TightVNC Between Linux and Windows
Problem
You're not comfortable with VNC's lack of data encryption and its weak authentication, so you want to know how to add strong security, especially for traffic over untrusted networks. And, you want something that works cross-platform (for example, when you administer Windows PCs from your Linux workstation).
Solution
Tunnel VNC over SSH.
We'll assume the following for this recipe:
You have a Windows 2000 machine or greater capable of running Cygwin and TightVNC.
You have a Linux machine with the vncviewer program installed on it.
The Windows PC is named "cygwin" and the Linux PC is named "Linux."
To install Cygwin and OpenSSH on Windows, go to Cygwin.com (http://cygwin.com), and hit "Install Cygwin Now." This downloads a tiny setup.exe file; double-click this file to bring up the Cygwin installation menu.
The default installation will work fine, except you need to add OpenSSH. You'll find this in the Net submenu. Throw in ping for good measure; it will save you the hassle of opening a DOS window when you need to use ping while you're running Cygwin.
After installation, open a Cygwin bash shell (there should be a menu command "Cygwin Bash Shell"), then run:
$ ssh-host-configThis generates new SSH keys and configuration files. Say "yes" to:
Privilege separation
Create a local user "sshd"
Install sshd as a service
Then, add the CYGWIN=ntsec
tty environment variables.
Next, start up the ssh daemon:
$ net start sshd The CYGWIN sshd service is ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access