Ceci est une ancienne révision du document !


Multi-hop SSH

under construction

Les serveurs de travail (calculs, prévisualisation, données) sont parfois derrières plusieurs firewall ou passerelles (ou rebonds SSH, “hops” en anglais). La documentation SSH explique comment passer une seule passerelle (option ProxyCommand). Il est possible de cumuler ce système de “saut de passerelle” plusieurs fois. Pour l'exemple, nous allons utiliser le réseau illustré ci-après.

Connection from "poste Chercheur" to front machine "vizu.psmn" via multihop SSH

Caption :

  • noir : physical link
  • bleu : standard ssh connection
  • rouge : virtual ssh connection (multi-hop)
  • vert : NFs links (/home)

The Poste Chercheur (your computer!) tries to join the server vizu.psmn through 2 SSH gateways (red path).

From au Mac/Linux/BSD machine

Manual multihop

On va cumuler les connexions “à la main” (chemins bleus) :

user@postechercheur:~$ ssh ssh.ens-lyon.fr
user@ssh.ens-lyon.fr:~$ ssh allo-psmn
user@allo-psmn:~$ ssh vizu.psmn
user@vizu.psmn:~$

C'est automatisable. (Il est en plus impossible de copier des fichiers avec scp depuis postechercheur vers vizu.psmn, les machines passerelles ayant des /home de petite taille)

Automated multihop

Il faut ajouter les entrées pour les passerelles et le serveur visé dans le fichier ~/.ssh/config du postechercheur. En cumulant les différentes connexions au fur-et-à mesure.

  • ~/.ssh/config file on postechercheur
~/.ssh/config
Host ssh-ens
  User user
  HostName ssh.ens-lyon.fr

Host allo-psmn
  User user
  ProxyCommand ssh -qt ssh-ens tcpconnect allo-psmn.ens-lyon.fr %p

Host vizu.psmn
  User user
  ProxyCommand ssh -qt allo-psmn netcat -w1 vizu.psmn.ens-lyon.fr %p

(A more compete configuration file is available on this page)

That's it. You can now connect to vizu.psmn from postechercheur in one command!

user@postechercheur:~$ ssh vizu.psmn

user@vizu.psmn:~$

It also works with the scp command.

The configuration and explanations on the automation of the login steps with an SSH-agent-ssh are explained here.

From a Windows machine

Multi-hop with PuTTY (Windows)

See the use of plink & PuTTY

en/documentation/tutorials/ssh/multihop_ssh.1513853534.txt.gz · Dernière modification : 2020/08/25 15:58 (modification externe)