Disons que j'ai une clé pour Github, ainsi que d'autres clés. J'ai ajouté beaucoup de clés à mon agent ssh ( ssh-add -L
retourne beaucoup de lignes) sur mon ordinateur personnel A. Dans mon, .ssh/config
j'ai configuré quelle clé utiliser avec quel hôte, par exemple
ssh -T -vvv git@github.com 2>&1 | grep Offering
donne
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github
Une seule clé est offerte, comme prévu. Mais ensuite ssh-ing à un hôte B avec ForwardAgent yes
et en répétant la même commande, je reçois
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.linode2
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.helium
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github
ce qui signifie qu'il essaie toutes mes clés. Cela est problématique car seul un nombre limité de clés peut être essayé avant le retour des serveurs Too many authentication failures
. J'ai donc essayé de modifier .ssh/config
sur l'hôte B pour inclure
Host github.com
IdentityFile /Users/doxna/.ssh/id_rsa.github
IdentitiesOnly yes
mais je ne reçois aucune offre clé, mais plutôt
debug2: key: /Users/doxna/.ssh/id_rsa.github ((nil))
ce qui, je suppose, signifie que la clé n'a pas été trouvée (?) Et après tout, la clé se trouve sur mon ordinateur personnel A, pas sur l'hôte B, donc la question est de savoir comment s'y référer sur l'hôte B? J'espère que j'ai réussi à expliquer la question.