====== 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 ===== {{:public:tunnel-inverse.png?|}} ====== 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 ==== 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**