Here is another quick tutorial;
Some times its nice to tunnel through SSH. Perhaps you have SSH running but the firewall does not allow anything but SSH in. You can tunnel VNC (or any other service) through SSH by doing the following:
On the machine local to you establish an SSH connection to the remote machine with “Local (-L)” port forwarding. This may seem confusing and often confuses me, where [-p PORT] is optional
ssh -L 5901:localhost:5900 username@HOST [-p PORT];
Once I have the connection established I can now use vncviewer to connect to my local host with the port specified
Thats all there is to it, have fun!