Pour faire ce que vous voulez, je vous recommande sshuttle .
Vous l'utilisez comme ceci:
./sshuttle -r username@sshserver 0.0.0.0/0 -vv
Il tunnelera tout votre trafic TCP automatiquement pour vous. Vous pouvez ajouter l' --dns
argument pour qu'il tunnelise également votre trafic DNS. Python doit uniquement être installé sur le serveur distant.
Si vous ne souhaitez que des programmes spécifiques du tunnel Je recommande proxychains .
Une fois installé, démarrez votre proxy ssh socks comme suit:
ssh -fND 127.0.0.1:<local port> username@sshserver
Cela lancera un proxy "SOCKS" à l’écoute sur <port local>.
Ensuite, éditez /etc/proxychains.conf pour qu'il pointe vers le même port que <port local>.
Enfin, démarrez votre programme que vous voulez utiliser comme proxy:
proxychains <program name>
Cela devrait juste marcher. Cependant, quelques programmes auront du mal à travailler avec les chaînes proxy. N'oubliez pas non plus qu'avec Firefox, vous devez modifier des éléments supplémentaires sous about: config pour le forcer à effectuer des recherches DNS via le proxy au lieu de le contourner.
Remarque supplémentaire sur les navigateurs Web. S'ils prennent en charge les proxy socks, vous n'avez rien d'autre à faire pour les amener à utiliser le tunnel ssh mentionné ci-dessus. Il vous suffit d'entrer 127.0.0.1 pour le serveur proxy SOCKS et le <port local> pour le port de proxy.
EDIT 3/29/16
Étant donné que ce billet continue de recevoir des votes positifs, j'ai pensé le mettre à jour. Proxychains est toujours dans la plupart des dépôts Linux et fonctionne toujours sous Linux. Cependant, le projet est effectivement abandonné et ne fonctionne pas sous OSX. Pour Linux ou OSX, je recommande vivement de mettre à niveau vers un fork encore maintenu: proxychains-ng: https://github.com/rofl0r/proxychains-ng
En plus de fonctionner sous Linux et OSX, il est facile à compiler et supporte beaucoup mieux le tunneling DNS.
Je devrais également mentionner une autre option, qui est les chaussettes rouges. Cela fonctionne de la même manière que proxychains (-ng) et est probablement aussi dans votre référentiel dist: https://github.com/darkk/redsocks