Créé un tunnel SSH
Par LePiaf le mardi, février 10 2009, 09:09 - Securité - Lien permanent
Dans certaine entreprise, il n'est pas possible d'utiliser certaine application a cause des ports fermé. En général, le port 80, 22 et 21 sont ouverts, ce sont les ports pour accéder au site web (protocole HTTP), le port FTP ainsi que le port SSH pour l'administration de serveur à distance. Et surement d'autre port comme le POP et SMTP.
A quoi bon utiliser les autres ports après tout ? Ceux-la nous suffisent ! Et bien, quand on veut accéder à des services particulier, comme Webmin, il n'est pas possible. Webmin permet de contrôler et administrer sont serveur via une interface graphique. Il utilise le port 10000 par défaut.
Comment faire ?
Je vais exposer la méthode concernant Linux et Mac OS, elle se fait en une ligne de commande très simple. On reprend l'exemple de l'application webmin.
ssh -N -L 50500:192.168.1.10:10000 user@host-relay.com
-N permet de gérer uniquement le tunnel, nous n'avons pas besoin d'un shell
-L précise le type de tunnel (redirection locale)
50500 est le port local à utiliser
192.168.1.10 est l'hôte final, joignable par le firewall
10000 est le port sur l'hôte final à atteindre
user est l'utilisateur sous lequel ouvrir la connexion
host-relay.com est le serveur par lequel nous passons.
Si on traduit cette commande en une phrase intelligible, ça donne : Indique à host-relay.com de rediriger le port 50500 vers moi, et renvoie le à 192.168.1.10, sur le port 10000.
Ainsi, quand on tape localhost:50500 dans un navigateur, la requête est envoyé a travers le tunnel ssh vers host-relay.com. host-relay.com va faire la requête vers 192.168.1.10:10000.
Dans cet exemple, la machine qui fait la requête et celle qui reçoit sont sur un même réseau privé.
Et une illustration :
Le mieux est de faire un exemple pratique, mais ca fonctionne, et c'est super !

Source :
http://projects.tynsoe.org/fr/stm/doc.php
http://www.phys.univ-tours.fr/informatique/tunnel_ssh.php



Commentaires
Pas mal j'essayerai un de ces 4, c'est très pratique.
oui, je sais, les smilies ont changés, je dois tout remettre en place.
je vais améliorer le thème
Bonsoir, comment préciser dans la commande que le serveur sur lequel on se connecte n'écoute pas sur le port 22 mais sur un autre ? Merci d'avance pour votre réponse.
ssh -N -p listen_port -L 50500:192.168.1.10:10000 user@host-relay.com:
replace listen_port par le port d'écoute.
sinon un "man ssh"