Depuis un bout de temps je cherchais un moyen d’accéder au serveur ssh d’une machine se trouvant dans un réseau local et n’ayant pas forcément la possibilité de rediriger un de ces ports vers la machine. Et j’ai trouvé ! Miracle ! Encore une fois, la puissance de SSH va nous être d’une grande utilité! Puisque nous allons travailler sans autres programmes que ssh client et serveur.Soit MaLocale, la machine à l’intérieure de mon réseau local et MaDistante, le serveur ssh accessibles depuis l’internet.
De votre coté (sur MaDistante) n’oubliez pas de rendre disponible le port 2345 sur votre machine (Nat, Firewall, …)
Pour établire le premier tunnel (1), entrez sur “MaLocale” la commande :
ssh -R 2345:localhost:22 utilisateur@MaDistante
Ici, la commande indique qu’il faut rediriger le port 2345 de MaDistante vers le port 22 de MaLocale.
Ensuite, nous allons établir le chemin (2) qui va nous permettre d’exécuter des commandes depuis MaDistante sur MaLocale. Tapez alors sur votre machine MaDistante :
ssh -p 2345 utilisateur@locahost
Ici, on indique qu’il faut se connecter sur la machine locale sur le port 2345. Et là, miracle, nous voyons apparaître un prompt de la machine MaLocale :
utilisateur@MaLocale:~$
Nous avons donc maintenant la possibilité de faire la maintenance ou de régler le petit problème de votre ami ou de votre grand-mère sans avoir ouvert de port sur le firewall ou le routeur 🙂
Accéder à un serveur ssh dans un lan privé
Edit : commande pour du remote tunnel : ssh userName@ssh-server.example.com -N -f -L 3689:remote-server.example.com:3689
Superbe article sur comment tunneler en ssh :
source