Florent Peterschmitt

Memo - redirection de port SSH

Print assistance j’écoute ?

Quand on doit aider quelqu’un sous GNU/Linux (ici une Ubuntu) à installer son imprimante, ça n’est pas chose facile que de lui donner des apt-get install machin et ça l’est encore moins de savoir ce qu’il se passe, et encore encore moins de le savoir précisément. Du coup, on opte pour redirection de port avec SSH. Un seul paquet à installer, deux ports à rediriger (22 et 631 quand on ne connaît pas l’administration CUPS en ligne de commande) et c’est fini.

jesuisunetruite.com

Le man ssh est pourtant clair :

-R [bind_address:]port:host:hostport
Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local
side.

port est le port qui sera atteignable par vous avec un ssh localhost -p port host ben c’est vous, c’est à dire localhost du point de vue du serveur SSH, donc vous, toujours hostport c’est la machine distante qui veut vous joindre et donc son port local à elle

Ainsi la commande que vous devez demander à l’autre partie de lancer est :

ssh -R [un port au choix plus grand que 1024]:localhost:22 [votre IP/nom de domaine] -l [un utilisateur *temporaire* avec un mot de passe pas trop pourri quand même]

Sans les crochets hein…

N’oubliez pas que cette commande lance un shell et qu’il existe moultes options permettant de ne rien lancer, compresser la liaison et toutyquanti.

Voilà, et maintenant voici le serveur SSH distant accessible chez vous depuis le port que vous avez choisi.

Et avec -L ?

-L [bind_address:]port:host:hostport
Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote
side.

En fait c’est l’inverse. On redirige un port local vers le serveur alors qu’avant on redirigeait un port distant sur un port local.

Un pti mot, pour la fin

Il serait réducteur de penser que -L et -R ne servent qu’à faire des redirections basiques d’une machine vers une autre. On peut bien entendu faire des redirections entre plusieurs machines. Ainsi écrire :

ssh -R 2222:peterschmitt.fr:80 192.168.0.30

Redirige le port 2222 de la machine 192.168.0.30 vers le port 80 de peterschmitt.fr ;)

Comments