A vnc-ssh example: Situation: Windows1 ->|Possible firewall|->|Internet|->|linuxFirewall|->WindowsServer Install vnc server on WindowsServer on linuxFirewall: ssh -g -L 5900:WindowsServerIP:5900 linuxFirewallIP On Windows 1: Load cygwin so that you have ssh in cygwin bash shell: ssh -L 5900:127.0.0.1:5900 root@linuxFirewallIP On windows1 Run vnc and connect to 127.0.0.1::5900 Both ssh commands give you an ssh shell. exiting these shells closes the connections NOTE: the ssh -g command could be run on the Windows server as well and a port forward command could be put on the linuxFirewall