Je cherchais une solution au problème suivant depuis 2 heures sans succès.
Développement:
J'utilise l'authentification publickey pour me connecter à mes serveurs. J'utilise le transfert d'agent ssh afin de ne pas avoir à gérer les clés publiques / privées.
Disons que j'ai des serveurs A, B and C
.
Cela fonctionne très bien si je me connecte depuis LOCAL ---> A ---> B
.
Cela fonctionne aussi très bien si je le fais LOCAL ---> A ---> C
.
Maintenant, si j'essaye LOCAL ---> A ---> B ---> C
, SSH ne peut pas se connecter depuisB to C
.
À noter: je me connecte au serveur A en tant que liquidité, tandis que je me connecte au serveur B en tant que root. La connexion au serveur B en tant que liquidité résout le problème, mais ce n'est pas une option pour moi.
Selon la recommandation d'un utilisateur, j'utilise ssh -A
chaque fois pour m'assurer que le transfert d'agent est activé.
J'ai trouvé une question similaire, sans réponse ici: est-il possible de chaîner le transfert d'agent ssh via plusieurs sauts?
Selon @Zoredache ici: /server//a/561576/45671 J'ai juste besoin d'ajuster la configuration de mon client sur chaque système intermédiaire. Ce que je crois avoir fait.
ProxyCommand
saut (comme expliqué ici ) au lieu de transférer l'agent SSH. Pour votre approche, vous devrez faire confiance à toutes les machines de la chaîne car elles peuvent (ab) utiliser vos clés privées. J'aime également beaucoup l'approche ProxyCommand car la vérification des hôtes connus est effectuée localement, et de plus, vous pouvez configurer la chaîne dans votre configuration SSH afin que vous puissiez utiliser une seule commande pour vous connecter à C.