J'ai beaucoup de clés SSH, elles sont toutes protégées par une phrase secrète et gérées par SSH-Agent. À la suite de cela, je reçois maintenant "Trop d'échecs d'authentification" sur certaines connexions.
Comme cela a déjà été expliqué sur ce site, c’est que ssh essaiera toutes les clés que l’agent lui lance.
La solution proposée consiste à utiliser IdentitiesOnly dans la configuration, avec un fichier IdentityFile. Bien que cela cesse effectivement d’offrir de mauvaises clés, il semble que l’agent soit complètement désactivé. Je dois maintenant taper la phrase secrète à chaque connexion.
Je n'ai pas trouvé d'informations claires à ce sujet. Est-ce qu'IdentitiesOnly désactive simplement l'obtention complète des clés de ssh-agent? Ou devrait-il simplement bloquer les clés qui ne sont pas mentionnées?
Merci, Mathijs
# here's my config
~% cat .ssh/config
Host bluemote
HostName some.host.com
IdentitiesOnly yes
IdentityFile /home/mathijs/.ssh/keys/bluebook_ecdsa
# I had the key loaded into the agent, shown here
~% ssh-add -L
ecdsa-sha2-nistp521 SOME_LONG_BASE64_NUMBER== /home/mathijs/.ssh/keys/bluebook_ecdsa
# but it doesn't seem to get used
~% ssh bluemote
Enter passphrase for key '/home/mathijs/.ssh/keys/bluebook_ecdsa':
Réponses:
& amp;
Ceci est le comportement voulu comme décrit dans la page de manuel
ssh_config(5)
:Il y a une solution de contournement:
ssh-add
. Bien qu'un agent de clé SSH normal semble être désactivé à l'aide deIdentitiesOnly
, ceux que j’ajoute en utilisantssh-add
sont utilisés quand même.la source
J'ai aussi beaucoup de clés et j'ai juste trouvé un moyen de faire ça ce soir:
Connecter en utilisant:
Cela suppose que votre clé privée est $ HOME / .ssh / {nom d'utilisateur}, mais elle pourrait être adaptée bien sûr.
Il exporte la clé publique de l'agent et l'utilise. S'il n'a pas encore été ajouté à l'agent, il utilise plutôt la clé privée.
Notez que cela va effacer votre configuration ssh donc il devrait être modifié pour réécrire votre config au lieu de le supprimer si vous avez quelque chose à garder là-dedans.
la source