29.7. Connexion à un serveur distant à l'aide d'un hôte de saut SSH

Utilisez cette procédure pour connecter votre système local à un serveur distant par l'intermédiaire d'un serveur intermédiaire, également appelé jump host.

Conditions préalables

  • Un hôte de saut accepte les connexions SSH à partir de votre système local.
  • Un serveur distant n'accepte les connexions SSH qu'à partir de l'hôte de saut.

Procédure

  1. Définissez l'hôte de saut en modifiant le fichier ~/.ssh/config sur votre système local, par exemple :

    Host jump-server1
      HostName jump1.example.com
    • Le paramètre Host définit un nom ou un alias pour l'hôte que vous pouvez utiliser dans les commandes ssh. La valeur peut correspondre au nom réel de l'hôte, mais peut également être une chaîne quelconque.
    • Le paramètre HostName définit le nom d'hôte ou l'adresse IP de l'hôte de saut.
  2. Ajoutez la configuration de saut du serveur distant avec la directive ProxyJump au fichier ~/.ssh/config de votre système local, par exemple :

    Host remote-server
      HostName remote1.example.com
      ProxyJump jump-server1
  3. Utilisez votre système local pour vous connecter au serveur distant via le serveur de saut :

    $ ssh remote-server

    La commande précédente est équivalente à la commande ssh -J jump-server1 remote-server si vous omettez les étapes de configuration 1 et 2.

Note

Vous pouvez spécifier davantage de serveurs de saut et vous pouvez également éviter d'ajouter des définitions d'hôtes au fichier de configuration lorsque vous fournissez leurs noms d'hôtes complets, par exemple :

$ ssh -J jump1.example.com,jump2.example.com,jump3.example.com remote1.example.com

Modifiez la notation du nom d'hôte uniquement dans la commande précédente si les noms d'utilisateur ou les ports SSH sur les serveurs de saut diffèrent des noms et des ports sur le serveur distant, par exemple :

$ ssh -J johndoe@jump1.example.com:75,johndoe@jump2.example.com:75,johndoe@jump3.example.com:75 joesec@remote1.example.com:220

Ressources supplémentaires

  • ssh_config(5) et ssh(1).