Faire des rebonds avec SSH

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 cet exemple, nous allons utiliser le réseau illustré ci-après.

Connexion du "poste Chercheur" au serveur "vizu.psmn" via multihop SSH

Légende :

  • noir : lien physique
  • bleu : connexion ssh standard
  • rouge : connexion ssh virtuelle (rebonds)
  • vert : liaison NFS (/home)

Le Poste Chercheur se connecte au serveur vizu.psmn à travers 2 passerelles SSH (chemin rouge).

Depuis un poste de travail Mac/Linux/BSD

Rebonds manuels

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, de plus, impossible de copier des fichiers avec scp depuis postechercheur vers vizu.psmn, les machines passerelles ayant des /home de petite taille)

Rebonds automatisés

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.

  • Fichier ~/.ssh/config sur postechercheur
config
Host ssh-ens
  User user
  HostName ssh.ens-lyon.fr

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

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

(Un fichier plus complet est disponible sur cette page)

Voilà. Vous pouvez maintenant vous connecter sur vizu.psmn depuis postechercheur en une seule commande :

user@postechercheur:~$ ssh vizu.psmn

user@vizu.psmn:~$

Cela est bien sûr valable aussi pour la commande scp.

La configuration et les explications sur l'automatisation des étapes de login avec un agent-ssh est expliqué sur cette page.

Depuis un poste de travail Windows

Rebonds avec PuTTY (Windows)

Voir l'usage de plink et PuTTY

documentation/tutorials/ssh/multihop_ssh.txt · Dernière modification: 2018/06/21 11:30 par ltaulell