La clave ssh persiste incluso después de eliminar la clave privada de ~ / .ssh, ¿por qué?

18

Generé claves ssh (públicas y privadas) y las almacené ~/.ssh/myServer/.

¡Agregué la clave pública al ~/.ssh/authorized_keysarchivo del servidor y todo funciona muy bien!

En mi esfuerzo por tratar de entender cómo funcionan las claves, las eliminé y me sorprendió descubrir que todavía podía conectarme al servidor.

¿Por qué todavía puedo conectarme sin contraseña?

poltj18
fuente

Respuestas:

24

¡Bienvenido al maravilloso mundo de OS X Keychain y ssh-agent ! Desde la página del manual:

ssh-agent es un programa para contener claves privadas utilizadas para la autenticación de clave pública (RSA, DSA, ECDSA). La idea es que ssh-agent se inicie al comienzo de una sesión X o una sesión de inicio de sesión, y todas las demás ventanas o programas se inician como clientes del programa ssh-agent. Mediante el uso de variables de entorno variables, el agente se puede ubicar y utilizar automáticamente para la autenticación al iniciar sesión en otras máquinas utilizando ssh (1).

Su clave privada se almacenó en caché en el agente y se está recuperando desde allí para autenticar su sesión. OS X, a través de Keychain, realiza el almacenamiento en caché de ssh-agent automático porque es "fácil de usar". Puede ser un poco alarmante, pero es sobre todo algo útil que esto suceda.

El tiempo de vida predeterminado para las claves en caché es para siempre. Probablemente no sea un gran defecto. Vaciará las claves almacenadas en caché en un ciclo de cierre de sesión / inicio de sesión o un reinicio. O puede forzar una descarga eliminando al agente actual usando:

ssh-add -D

Puede enumerar todas las credenciales almacenadas en caché por el agente ejecutando:

ssh-add -l

Esto hará lo mismo pero mostrará las claves públicas completas:

ssh-add -L
Ian C.
fuente
¡Guauu! ¡Muchas gracias! Estaba realmente confundido sobre lo que estaba sucediendo. ¡Ahora lo entiendo!
poltj18
2
@FAYNUS si esto resuelve el problema, presione la marca de verificación verde en el lado derecho para marcarlo como la "respuesta aceptada". ¡Bienvenido a Ask Different!
Ian C.