Here I'll describe how to establish a tunnel to gain access to a client behind a firewall or NAT router.
The following command is run on the client. It will establish a listening socket on host.example.com port 22222:
#ssh -R 22222:localhost:22 firstname.lastname@example.org
Now connect to host.example.com with ssh from you workstation:
Then from the new ssh terminal, connect through the client tunnel:
#ssh root@localhost -p 22222
Viola. You will now have root access to the client.
For windows clients this ssh server might be usefull, not tested though: Free SSHd
For security if this should be used over GPRS lines: