how to connect to a remote desktop behind a router?

view story

http://askubuntu.com – Here's my setup: I have a laptop that I roam around everywhere with, and I have a desktop computer at home that is connected to the web using a router with NAT. My objective here is to create an SSH server which I can use for the purpose of file storage/access as well as using it as a proxy server. However, the problem is that the desktop (which i'm using as the SSH server) is on a router behind a NAT. This means I can't connect to the server from outside my home network. I want to be able to connect directly to my desktop from an outside network using the laptop. Here are the options I've (HowTos)