For this solution you need:
Tomato is an alternative firmware for Broadcom-based routers like Linksys WRT54G/GL/GS and others.
If you have Tomato installed:
in Section SSH Daemon:
There are two ways to access from outside, with the routers admin name and password, or a generated SSH key. (for the latter see further down)
To establish a remote desktop connection from outside the LAN: Start Putty
From now on you only have to open the SSH connection, and all communication going to e.g. 6666 will be forwarded to the LAN (You will have to enter the routers admin-username and password.)
You can open the remote desktop connection: connect to localhost: (e.g. 6666)
To improve security, you can use ssh keyfiles instead of the routers credentials.
Now, when you open the previously stored SSH connection, enter the password for the SSH key