Mon client est mac os x 10.9.5. J'ai un hôte de bastion (linux) auquel je me connecte en ssh. J'ai l'agent forwarding qui fonctionne donc je peux me connecter en ssh à l'hôte de bastion puis me connecter à une autre machine sans avoir à stocker ma clé privée sur le bastion.
Mon problème est que j'ai atteint 7 clés dans mon magasin ssh (ssh-add -L) sur ma machine cliente. Lorsque j'essaie d'utiliser l'agent forwarding pour les machines avec la 7ème clé, cela échoue pour "Trop d'échecs d'authentification pour". Avec -vvv activé, je peux voir qu'avec le send_pubkey_test, cela atteint la 6ème clé offerte et c'est à ce moment que ça s'arrête. La 7ème clé n'est jamais offerte. Ci-dessous un extrait de la 6ème clé et de l'échec.
- debug3 : send_pubkey_test
- debug2 : nous avons envoyé un paquet de clé publique, attendons la réponse
- debug1 : Authentications possibles : publickey
- debug1 : Offre de clé publique RSA : xxxx.pem
- debug3 : send_pubkey_test
- debug2 : nous avons envoyé un paquet de clé publique, attendons la réponse
- Déconnexion reçue de 10.0.1.240 : 2 : Trop d'échecs d'authentification pour ec2-user
J'ai essayé différentes solutions mais il semble que je passe à côté de quelque chose.
Sur le client, j'utilise un fichier de configuration. Dans celui-ci, l'hôte de bastion est configuré comme suit :
host jump01
ForwardAgent yes
Hostname www.example.com
User some-user
IdentityFile bastion.pem
IdentitiesOnly yes
J'ai essayé de configurer les autres serveurs dans le fichier de configuration du client. Voici un exemple. Lorsque je suis sur le serveur de bastion, j'essaie ssh internal.IP et cela échoue avec "trop d'échecs d'authentification":
host internal.IP
IdentityFile key.pem
IdentitiesOnly yes
J'ai essayé de configurer un fichier de configuration sur le serveur de bastion pour le forcer à utiliser un fichier d'identités. Mais comme je ne veux pas que ma clé privée soit là-bas, cela échoue.
En outre, j'ai essayé de prendre la clé publique pour le pem et de la copier sur le serveur de bastion dans le répertoire .ssh. Ensuite, j'ai utilisé -i name.pub sur la ligne de commande. Cela n'a pas fonctionné. On dirait que la clé publique était traitée comme un pem.
Mon contournement est d'écrire un script pour charger/supprimer les clés lorsque j'en ai besoin. Je continue de penser qu'il doit y avoir une solution que je manque pour l'agent forwarding en ssh.
Toute guidance serait appréciée.