Digamos que tengo una clave para Github, junto con otras claves. He agregado muchas claves a mi agente ssh ( ssh-add -L
devuelve muchas líneas) en la computadora de mi casa A. En mi .ssh/config
he configurado qué clave usar con qué host, por ejemplo
ssh -T -vvv git@github.com 2>&1 | grep Offering
da
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github
Solo se ofrece una clave, como se esperaba. Pero luego, pasando a algún host B con ForwardAgent yes
y repitiendo el mismo comando, obtengo
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
lo que significa que prueba todas mis llaves. Esto es problemático ya que solo se puede probar un número limitado de claves antes de que los servidores regresen Too many authentication failures
. Así que intenté editar .ssh/config
en el host B para incluir
Host github.com
IdentityFile /Users/doxna/.ssh/id_rsa.github
IdentitiesOnly yes
pero luego no recibo ofertas clave, sino más bien
debug2: key: /Users/doxna/.ssh/id_rsa.github ((nil))
lo que supongo que significa que no se encontró la clave (?) Y después de todo, la clave se encuentra en la computadora A de mi casa, no en el host B, por lo que la pregunta es cómo hacer referencia a ella en el host B. Espero haber logrado explicar la pregunta.