Per fare quello che volete, vi consiglio sshuttle .
Lo usi in questo modo:
./sshuttle -r username@sshserver 0.0.0.0/0 -vv
Tunnelerà tutto il tuo traffico TCP automaticamente per te. Puoi aggiungere l'argomento --dns
per fargli fare un tunnel anche al tuo traffico DNS. Il server remoto ha solo bisogno di avere Python installato.
Se vuoi fare il tunnel solo per programmi specifici, raccomanderei proxychains .
Una volta installato, avviate il vostro ssh socks proxy in questo modo:
ssh -fNTD 127.0.0.1:<local port> username@sshserver
Questo avvierà un proxy “SOCKS” in ascolto su <porta locale>.
Poi modifica /etc/proxychains.conf per puntare alla stessa porta di <porta locale>.
Infine avvia il tuo programma che vuoi proxy-ed in questo modo:
proxychains <program name>
Dovrebbe funzionare. Tuttavia, alcuni programmi avranno problemi a lavorare con le catene di proxy. Tieni anche presente che con Firefox, devi cambiare altri elementi sotto about:config per forzarlo a fare le ricerche DNS attraverso il proxy invece di bypassarlo.
Come nota aggiuntiva, sui browser web. Se supportano i proxy socks, non c'è bisogno di fare nulla di aggiuntivo per fargli usare il tunnel ssh di cui sopra, basta inserire 127.0.0.1 per il server proxy SOCKS e la <porta locale> per la porta del proxy.
EDIT 3/29/16
Visto che questo post sta ancora vedendo alcuni upvotes, ho pensato di aggiornarlo. Proxychains è ancora nella maggior parte dei repo di Linux e funziona ancora su Linux. Tuttavia, il progetto è effettivamente abbandonato e non funziona su OSX. Sia per Linux che per OSX, raccomando vivamente di passare ad un fork ancora mantenuto: proxychains-ng: https://github.com/rofl0r/proxychains-ng
Oltre a funzionare sia in Linux che in OSX, è facile da compilare e ha anche un supporto molto migliore per il tunneling DNS.
Dovrei anche menzionare un'altra opzione, che è redsocks. Funziona in modo simile a proxychains(-ng) ed è anche probabile che sia nella vostra dist repo: https://github.com/darkk/redsocks
EDIT 11/27/19 Se scegliete il percorso proxychains, per favore usate proxychains-ng. Ci sono alcune serie correzioni di bug rispetto alla versione legacy, come: https://github.com/rofl0r/proxychains-ng/issues/292