Hace poco tiempo noté que había tres claves en mi agente ssh que no podía eliminar. ssh-add -l
mostró tres llaves; Corrí ssh-add -D
y me dijeron "Todas las identidades eliminadas"; pero luego un inmediato ssh-add -l
mostró las mismas tres llaves.
Si me desconecto y luego vuelvo a ingresar, las llaves siguen ahí. Si reinicio la máquina, las teclas siguen ahí. Si elimino el directorio de llavero /tmp
, no puedo conectarme ssh-agent
más, pero al cerrar la sesión y volver a iniciarla, las claves vuelven. Son invulnerables.
Las llaves son mías, no de nadie más, por lo que puedo decir. Puedo acceder a mis servicios locales habituales con ellos. Pero cuando agrego nuevamente una de las claves con ssh-add
, dando la ruta a un archivo de clave privada, la nueva clave tiene una apariencia diferente en la salida de ssh-add -l
:
2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f /home/jruser/.ssh/jruser-keyname-20110418 (RSA)
vs. el original:
2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f jruser 04/18/2011 keyname (RSA)
¿Hay alguna forma de explicar con sensatez este comportamiento? Creo que realmente hay dos preguntas:
¿Cómo lograron retener las claves incluso a través de reinicios? Mi conocimiento básico de
ssh
sugiere que las claves siempre deben agregarse manualmente.¿Por qué
ssh-agent -D
me miente acerca de eliminar identidades?