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
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 commandesssh
. 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.
-
Le paramètre
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
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.
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)
etssh(1)
.