Commande magique pour créer un tunnel SSH

L'IP publique de mon PC devient celle de mon serveur puisque tout le trafic du PC transite par le serveur.

L’IP publique de mon PC devient celle de mon serveur puisque tout le trafic du PC transite par le serveur.

Pendant ma soutenance de projet de fin d’année, j’ai eu besoin d’accéder à des machines virtuelles stockées chez moi, sur mon réseau local. Seule porte d’entrée sur mon réseau domestique : mon serveur personnel. Celui-ci me permettant d’utiliser SSH, j’ai pu facilement créer un tunnel que Firefox a pu emprunter afin d’accéder à l’interface web de mes machines.

Je garde cette commande en mémo ici car elle peut toujours servir, surtout si je commence à bidouiller KVM.

Voici la commande :

ssh -fnNqT -D 8080 -p 22 user@ma.machine.com

Que se passe-t-il ?

  1. J’invoque la commande SSH et je lui passe les options -f, -n, -N, -q et -T :
    • -f permet de créer le tunnel en tâche de fond. C’est-à-dire que la « main » vous sera rendu dans votre terminal (vous pourrez taper d’autres commandes) et le tunnel se fermera lorsque vous quitterez votre terminal.
    • -n redirige stdin vers /dev/null
    • -N demande l’ouverture d’un tunnel
    • -q en mode silencieux (quiet), par rapport aux messages d’alerte.
    • -T désactive l’allocation d’un pseudo TTY. Normal puisque nous n’allons pas taper de commandes…
  2. L’option -D me permet ensuite de définir un port pour le socket qui va définir le point d’entrée de mon tunnel. Ici je choisis le port 8080.
  3. L’option -p définit la port auquel se connecter sur la machine distante, c’est plus ou moins le point de sortie de mon tunnel : le port 22 de mon serveur. Normalement on doit pouvoir se passer de cette option si on a laissé le port par défaut (22) ou la définir dans le fichier de configuration de SSH.
  4. Et enfin mon couple identifiant@hôte. Votre serveur vous demandera votre mot de passe, sauf si vous utilisez une clé de chiffrement.

Et voilà, votre tunnel est prêt, accessible en local sur le port 8080. Sous Linux vous pouvez faire transiter tout votre trafic par votre tunnel si vous le souhaitez, il se configure comme un proxy. Moi j’en avais juste besoin pour Firefox. La configuration s’effectue via les paramètres avancés, onglet Réseau > Paramètres. Renseignez le champs « Hôte SOCKS » (127.0.0.1 / port 8080).

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email