openssh

Forwarding ports

# ssh -L 8000:localhost:80 server.com

After this you can access server.com:80 at localhost:8000 even if server.com:80 is not accessible from your machine.

Socks proxy

Many mobile users have the following problem: they have to use an unencrypted wireless lan and they want to access webservers which does not support https. There is an easy solution for this: you transfer data to a server in an ssh tunnel then the data can be transferred to the server unencrypted in a wired network. This is much more secure. Set up the socks proxy on localhost:8080:

$ ssh -D 8080 server.com

Then configure your webbrowser to use the proxy, for example in firefox, select Manual proxy configuration and then set SOCKS Host to localhost, Port to 8080.

Note
Don’t forget to clear other proxy fields! (HTTP, SSL, FTP, etc.)