[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: reverse ssh



Le 20/11/2016 15:12, bernard schoenacker a écrit :
     je pose le problème, je souhaite que un novice puisse se connecter
à l'une de mes machines ....

     ssh user@serveur-A

     moi je veut faire de même

     ssh moi@serveur-A

     ensuite, je souhaite pouvoir aller à son ordi par la même voie
sachant que le port ssh n'est pas ouvert chez lui en entrant ....

     donc je fait comment pour remonter ?

Donc en fait, tu veux prendre la main sur sa machine. Juste en ligne de commande ? Ou tu veux aussi controler sa souris, son clavier et voir son écran grace a VNC ?

Il faut qu'il y ait une machine accessible depuis internet. Ca peut etre un serveur mais pas nécessairement. Moi je le fais depuis mon laptop en configurant mon modem pour qu'il transfere le port 22. Si t'a pas envie d'ouvrir le port 22 tu peux aussi ouvrir un autre port et dire a ssh d'écouter sur cet autre port. Par exemple on va dire que l'adresse IP de la machine accessible depuis internet que tu va utiliser c'est 88.88.88.88 avec ssh qui écoute en standard sur le port 22.

Je te conseille fortement de faire sur cette machine un compte spécial dédié au novice qui se connecte. Par exemple on va dire que ce compte s'appelle toto.

Il faut que le novice se connecte a la machine EN FAISANT LE TUNNEL.
ssh -N -R 22222:localhost:22 toto@88:88.88.88

- le tunnel se construit a la connexion, pas apres s'etre connecté
- 22222 c'est le port d'entrée du tunnel sur ta machine, tu peux mettre n'importe quel autre numéro supérieur a 1000 et inférieur a 65535 - localhost c'est la machine sur laquelle le tunnel va arriver, comme c'est ton novice qui va taper cette commande, ca sera sa machine - 22 c'est le port sur lequel le tunnel va arriver sur la machine de ton novice, tu peux mettre un autre port si tu veux mais il faudra alors régler son ordi pour que ssh écoute sur cet autre port.

Quand le tunnel est fait, tout ce qui est envoyé sur le port 22222 de ta machine arrive sur le port 22 de sa machine. Tu peux donc te connecter a sa machine en te connectant a la tienne sur le port 22222, ca sera transféré chez lui :
ssh -p 22222 user@localhost

- il faut faire ca sur la machine d'ou le tunnel part, si c'est un serveur il faut d'abord que tu te connecte a ton serveur en ssh
- user doit etre le nom du compte auquel tu veux te connecter sur SA machine
- vu que tu passe par le tunnel, ca marche meme si le port 22 est bloqué chez lui au niveau du modem ou du pare feu, par contre c'est une connexion ssh classique, il faut donc que openssh-server soit installé chez lui.

Si tu veux utiliser VNC je te conseille de construire un tunnel direct (avec l'option -L) qui remonte dans le tunnel reverse pour tranférer le port de VNC. Si c'est le cas demande moi plus de précisions en me disant si tu passe par un serveur (c'est plus compliqué) ou si le tunnel part directement de chez toi.

PS : tu peux tres bien construire le tunnel sans l'option -N, mais dans ce cas, une fois le tunnel construit, le novice aura un terminal ouvert sur ta machine, et il pourra l'utiliser a volonté. L'option -N évite ca, mais du coup ca fait que quand le tunnel est ouvert, il voit dans son terminal le curseur qui va a la ligne et qui reste fixe sans lui rendre le prompt. Il y a des novices que ca perturbe et qui ne comprennent pas que le tunnel est pret, qui disent "attends, ca travaille" ou encore "il ne se passe rien". C'est aussi plus chiant pour débugger quand ca marche pas parce que c'est plus dur de savoir si le tunnel a bien été construit ou pas, donc en cas de souci je lui fais recommencer sans cette option -N.


Reply to: