Tengo muchas claves ssh, todas están protegidas por contraseña y administradas por ssh-agent. Como resultado de esto, ahora recibo "Demasiadas fallas de autenticación" en algunas conexiones.
Como se explicó anteriormente en este sitio, esto se debe a que ssh probará todas las claves que el agente le arroje.
La solución propuesta es usar IdentitiesOnly en la configuración, junto con un IdentityFile. Si bien esto realmente deja de ofrecer claves incorrectas, parece que deshabilita completamente al agente por completo, por lo que ahora tengo que escribir la frase de contraseña en cada conexión.
No pude encontrar información clara sobre esto. ¿IdentitiesOnly solo desactiva la obtención de claves de ssh-agent en su totalidad? ¿O debería bloquear las claves que no se mencionan?
Gracias 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':
Respuestas:
Y
Este es el comportamiento previsto como se describe en la página de manual
ssh_config(5)
:Hay una workround:
ssh-add
. Si bien un agente de clave SSH normal parece estar deshabilitado usandoIdentitiesOnly
, los que agrego usandossh-add
se usan de todos modos.fuente
También tengo muchas llaves y descubrí una forma de hacerlo esta noche:
Conéctese usando:
Esto supone que su clave privada es $ HOME / .ssh / {username} pero, por supuesto, podría adaptarse.
Exporta la clave pública del agente y la usa. Si aún no se ha agregado al agente, utiliza la clave privada.
Tenga en cuenta que eliminará su configuración ssh, por lo que debe modificarse para reescribir su configuración en lugar de eliminarla si tiene algo allí que deba conservar.
fuente