Ma réponse est vraiment la même que toutes les autres réponses ici, mais, je voulais clarifier l'utilité de ~/.ssh/config
et de ProxyJump.
Disons que je dois arriver à une destination en 3 sauts, et, pour chaque saut, j'ai besoin d'un nom d'utilisateur, d'un hôte, d'un port et d'une identité spécifiques. En raison des critères d'identité, cela ne peut se faire qu'avec le fichier de configuration de ~/.ssh/config
:
Host hop1
User user1
HostName host1
Port 22
IdentityFile ~/.ssh/pem/identity1.pem
Host hop2
User user2
HostName host2
Port 22
IdentityFile ~/.ssh/pem/identity2.pem
ProxyJump hop1
Host hop3
User user3
HostName host3
Port 22
IdentityFile ~/.ssh/pem/identity3.pem
ProxyJump hop2
Depuis votre ordinateur, vous pouvez tester chaque saut individuellement, c'est-à-dire
$ ssh hop1 # will go from your PC to the host1 in a single step
$ ssh hop2 # will go from your PC to host1, then from host1 to host2, i.e. in two steps
$ ssh hop3 # will go from your PC to host1, then to host2, then to host3, i.e. in three steps
Un autre avantage du fichier ~/.ssh/config
est qu'il permet également les transferts de fichiers sftp
, par exemple
$ sftp hop1 # will connect your PC to host1 (i.e. file transfer between your PC and host1)
$ sftp hop2 # will connect your PC to host1 to host2 (i.e. file transfer between your PC and host2)
$ sftp hop3 # will connect your PC to host1 to host2 to host3 (i.e. file transfer between your PC and host3)