Sshuttle - Le VPN à l'arrache
Avery Pennarun est l’auteur d’un logiciel à mi-chemin entre le VPN et la redirection de port (port forwarding) qui permet de faire passer sa connexion via n’importe quel serveur SSH auquel vous avez accès : Sshuttle (avec 2 s)
Pour cela, votre machine cliente doit être un Mac OSX, un Linux ou un FreeBSD et vous devez avoir un accès SSH sur une machine distante de confiance (genre un serveur chez vous sur votre connexion ADSL) sans forcément être root sur celle-ci.
À partir de là, Sshuttle vous permettra d’établir une connexion via SSH qui ne vous demandera pas de faire une redirection de port ni d’avoir les mêmes contraintes qu’OpenSSH (lenteur, ports…etc.).
L’outil demandera d’abord votre mot de passe local puis votre mot de passe distant (SSH) et comme Sshuttle uploadera automatiquement les scripts python dont il a besoin sur le serveur distant, vous n’aurez même pas besoin d’installer quoi que ce soit sur la machine distante.
Voici la commande en question :
./sshuttle -r username@sshserver 0.0.0.0/0 -vv
Il faut juste que Python soit présent sur la machine distante et c’est tout. Toutes les connexions TCP seront alors capturées par Sshuttle et balancées via SSH à l’autre machine. Votre tunnel est prêt ! C’est aussi simple que cela.
Si vous ajoutez l’option –dns à la commande :
./sshuttle –dns -vvr username@sshserver 0/0
… vos requêtes DNS passeront par le tunnel. Par contre, tout ce qui est ICMP et UDP ne passera pas par le tunnel. Néanmoins, cela suffit pour faire transiter ses connexions sur un serveur de confiance quand on est par exemple sur un Wifi public.
Je l’ai testé avec mon serveur SSH et c’est très simple d’utilisation. L’avantage, c’est que vous pouvez disposer d’une connexion sécurisée un peu à l’arrache sans avoir besoin de grand chose.
Vous trouverez les sources, le soft, les explications ainsi qu’une interface utilisateur pour Mac OSX sur le Github de sshuttle.
Pour compiler l’app OSX, il faudra entrer la commande suivante :
make all ui-macos/Sshuttle*.app
Merci à Yannick pour ce bon tuyau.