Diciamo che ho una chiave per Github, insieme ad altre chiavi. Ho aggiunto molte chiavi al mio agente ssh ( ssh-add -L
restituisce molte righe) sul mio computer di casa A. Nel mio .ssh/config
ho impostato quale chiave usare con quale host, quindi ad es.
ssh -T -vvv git@github.com 2>&1 | grep Offering
dà
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github
Viene offerta una sola chiave, come previsto. Ma poi ForwardAgent yes
ho un rapporto con un host B con e ripetendo lo stesso comando
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
nel senso che prova tutte le mie chiavi. Ciò è problematico poiché è possibile provare solo un numero limitato di chiavi prima che i server ritornino Too many authentication failures
. Quindi ho provato a modificare .ssh/config
l'host B da includere
Host github.com
IdentityFile /Users/doxna/.ssh/id_rsa.github
IdentitiesOnly yes
ma poi non ricevo offerte chiave, ma piuttosto
debug2: key: /Users/doxna/.ssh/id_rsa.github ((nil))
che suppongo significhi che la chiave non è stata trovata (?) E dopo tutto, la chiave si trova sul mio computer di casa A, non sull'host B, quindi la domanda è come fare riferimento ad essa nell'host B? Spero di essere riuscito a spiegare la domanda.