¿Cómo borro las entradas de ssh-agent (en Mac OS X)?

60

Estoy ejecutando Mac OS X, y parece que después de SSHing en varias máquinas, usando archivos de identidad, mi 'ssh-agent' acumula muchas identidades / claves y, a veces, ofrece demasiadas a una máquina remota, lo que hace que patearme antes de conectarme:

Desconexión recibida de 10.12.10.16: 2: demasiados errores de autenticación para cwd

Es bastante obvio lo que está sucediendo, y esta página habla de ello con más detalle:

Los servidores SSH solo le permiten intentar autenticarse un cierto número de veces. Cada intento fallido de contraseña, cada clave / identidad fallida que se ofrece, etc., toma uno de estos intentos. Si tiene muchas claves SSH en su agente, es posible que un servidor SSH lo expulse antes de permitirle intentar la autenticación de contraseña. Si este es el caso, hay algunas soluciones alternativas diferentes.

Reiniciar borra el agente y luego todo vuelve a funcionar bien. También puedo agregar esta línea a mi .ssh/configarchivo para obligarlo a usar la autenticación de contraseña:

PreferredAuthentications keyboard-interactive,password

De todos modos, vi la nota en la página a la que me refería hablando sobre la eliminación de claves del agente, pero no estoy seguro de si eso se aplica en una Mac, ya que parece que se borran después de reiniciar de todos modos.

¿Hay una manera simple de borrar todas las claves en el 'ssh-agent' (lo mismo que sucede al reiniciar)?

cwd
fuente

Respuestas:

97

Sus claves SSH no deben agregarse automáticamente al agente solo porque haya enviado SSH a un servidor ...

Ejecute ssh-add -lpara enumerar las claves del agente, ssh-add -Dpara limpiar todas las claves.

Gravedad
fuente
¿Quizás tenga algo que ver con la configuración de OSX? Si escribo ssh-add -lno obtengo nada. Si ssh -i ~/keyFileLocation.dsa un@remotehostescribo, aparece un cuadro de diálogo emergente de OS X que solicita la frase de contraseña. Lo escribo y luego me conecta. Si me desconecto y luego ssh-add -llo escribo, me muestra la identidad que acabo de usar. Después de reiniciar la computadora y escribirlo ssh-add -l, está en blanco nuevamente. ssh-add -Dfuncionó muy bien para borrar las claves sin reiniciar. ¡Gracias!
cwd
Cuatro años después y esto sigue siendo un problema, pero esta solución aún funciona, gracias
Jnunn
Oye, ¿puedes guiarme para esto, por favor? superuser.com/questions/951002/...
Niks
44
Incorrecto (en 2017): vea la AddKeysToAgentopción de configuración, que está diseñada con el propósito expreso de agregar sus claves SSH al agente solo porque lo hizo a un servidor.
Radon Rosborough
1

Otra forma de limitar lo que se teclas se comparan es añadir IdentitiesOnly yesy IdentityFile ~/.ssh/<nameofkey>a su /.ssh/configarchivo.

Leo Fisher
fuente