Tunnel inverse SSH
Un tunnel inverse SSH permet d'accéder à une machine située derrière un pare-feu filtrant
Deux cas de figure :
- le pare-feu dispose d'un port ouvert : dans ce cas, le pare-feu peut constituer l'extrémité du tunnel SSH
- le pare-feu ne dispose pas d'un port ouvert, on doit disposer d'une machine publique relais pour constituer l'extrémité du tunnel SSH
Principe
Remarques
Prérequis
- la machine srvpriv doit disposer de l'application autossh, si ce n'est pas le cas (ici sur une Debian) :
root@srvpriv:~# apt install -y autossh
- la machine srvext doit disposer d'un compte user (ou autre), si ce n'est pas le cas :
root@srvext:~# adduser user ...
Mode opératoire
Depuis srvpriv : établissement du tunnel
root@srvpriv:~# autossh -R 8000:localhost:22 user@srvext.dom.net
Le tunnel inverse SSH est alors mis en place depuis le port 8000 de la machine srvext vers le port 22 de la machine srvpriv.
Il s'interrompt sous l'action d'un <Ctrl-C>
Depuis le client : connexion à la machine relais publique
moi@cli:~# ssh user@srvext.dom.net
Depuis le relais public : connexion à la machine privée
user@sio:~> ssh root@localhost -p 8001 root@srvpriv:~#
On ouvre une session SSH sur srvpriv