Occasionally some of my friends contact me asking for assistance with their Macs. Usually this help can be conveyed over the phone, but sometimes I couldn't be bothered trying to explain it all, I just do it myself!
How, you might ask, can I accomplish this when my friends are 2 hours away!
Reverse SSH tunnels.
Using my linux VPS, morepackets.com, as a middle-man.
My friend connects to morepackets.com using a reverse tunnel. This allows ports on a remote machine to redirect to ports on my friend's local machine.
Since my VPS is headless, it won't be running VNC. Therefore for purpose of simplicity I choose to reverse tunnel remote TCP port 5900 to local TCP port 5900. The VNC/Remote Management port.
For this setup, some configuration of the Mac in question is required, i.e. enabling of Remote Management in System Preferences.
ssh USERNAME@server.name.com -CNvR 5900:localhost:5900
ssh USERNAME@server.name.com -CNvL localport:localhost:5900