If you aren't technically minded use logmein.
I'm technically minded, so I went a different way.
Install Cygwin and OpenSSHD.
(
http://www.petri.co.il/setup-ssh-server-vista.htm)
Setup Dynamic Dns
(
http://www.dyndns.com/)
Forward port 22 from your router to your desktop
Make sure RDP is running on your desktop.
From remote machine use:
ssh -L 13386:localhost:3386
[email protected]
Then open Remote Desktop & connect to localhost:13389 and connect to your desktop over an encrypted tunnel.
Note, you can significantly improve the security of your connection by using Public Key authentication, see
http://sial.org/howto/openssh/publickey-auth/
My ISP gives me a static IP address, so I don't bother with DynDNS and have a real DNS entry.
But for most people, logmein is a simpler solution