Reverse ssh

De wiki jackbot
Aller à la navigation Aller à la recherche

Le reverse ssh est une méthode qui permet de se connecter sur un ordinateur distant sans pour autant ouvrir un port sur le pare feu.

exemple :

Un ami possède un ordinateur sur lequel est installé openssh-serveur qui écoute sur le port 22, mais aucun port d'ouvert sur son routeur. De mon coté j'ai également un ordinateur avec openssh-serveur installé, mais qui écoute sur le port 27242, qui nécessite une clef pour la connexion et mon routeur redirige le port 27242 vers mon ordinateur.

Dans ce cas de figure je ne peux pas me connecter directement chez mon ami pour lui filer un coup de main, cependant lui peut se connecter chez moi. Le but de la manoeuvre est que mon ami initie une connexion vers mon ordinateur pour que je puisse la remonter et me connecter chez lui.

Pour se faire il faut qu'il tape la commande :

ssh -R 12345:localhost:22 utilisateur@jackbot.fr -p27242 -i /home/ami/.ssh/id_rsa

En faisant ça mon ami :

  • se connecte en tant que "utilisateur"
  • chez moi "jackbot.fr"
  • sur le port "27242"
  • en utilisant sa clef "/home/ami/.ssh/id_rsa"
  • et redirige le port "12345" vers son port "22"

Une fois ceci fait, sur mon ordi le port "12345" correspond au port "22" de mon ami, je peux donc m'y connecter en faisant :

ssh -p 12345 jack@localhost

Et le tour est joué :)