If you are accessing a Linux box from windows, you must use PuTTY.
Once you are using (and Loving) PuTTY, you can looking in the Connection Settings, under SSH at the Tunnels section. From there you can Turn on X Windows forwarding. You can also tunnel ports.
For example: I have a server that can SSH to via port 22. For our discussion, that is the only open port in the firewall. I want to use VNC on port 5901, so I add the following to my session:
Source Port: 5901
- remote.server.ip is either the ip address or hostname form the REMOTE server's perspective.
And click the Add button.
Once I SSH to my remote server using my username/password or Pub Key, I can connect to my VNCServer using the tunnel. I fireup VNCviewer and browse to the tunneled address:
Notice that to my vncviewer, it looks like I should be connecting back to my local PC, using the loop-back address. But PuTTY is listening on port 5901 and taking my connection through the tunnel to the remote server.
Result, I end up using the VNC Desktop on my remote box without
exposing port 5901 to the outside world.
Yea for SSH Tunnels