Tengo una clave SSH privada que uso para la autenticación que se almacena en ~ / .ssh / id_rsa . Cuando ingreso en un servidor, se me solicita la contraseña para desbloquear la clave:
Me gusta esto. También me gusta que pueda ssh una y otra vez y no me pide mi contraseña.
Lo que no me gusta es que no estoy obligado a ingresar mi contraseña clave días o incluso semanas después. Puedo bloquear mi pantalla o ponerla en suspensión y todavía no tengo que ingresar mi contraseña clave. La única vez que parece caducar la contraseña es cuando cierro la sesión (lo cual rara vez hago).
¿Cómo consigo que la contraseña clave caduque después de un tiempo, obligándome a ingresar mi contraseña nuevamente para autenticarme? Haciendo que tal vez después de 1 hora, la clave se olvide automáticamente.
fuente
Nota : en las versiones más recientes de OS X debe deshabilitar la Protección de integridad del sistema para que esta respuesta funcione. (Gracias a @Dave Gregory y @Jaap por señalar esto).
Abrir
/System/Library/LaunchAgents/com.openssh.ssh-agent.plist
(en versiones anteriores:)org.openbsd.ssh-agent.plist
en un editor de texto. Reemplazar:con:
Esto caducará la clave después de 30 minutos.
Reiniciar. Espera, ¿reiniciar? ¡Esto no es Windows! Sí, reiniciar
Bueno, puedes intentar descifrar las instrucciones para cambiar la configuración sobre la marcha , pero buena suerte.
fuente
Necesita establecer la vida de la clave. Por lo general, por defecto es para siempre.
Cuando corres
ssh-add
quieres usar la-t
opción. Si quieres una vida clave de una hora, entonces esssh-add -t 1h
. Los formatos de hora se pueden ver en lasshd_config
página de manual, pero simplemente son un número seguido de s, m, h, d o w por segundos, minutos, horas, días o semanas.ssh-add
se puede poner en su archivo .bashrc y solo le pedirá que valide la clave una vez. Incluso cuando la clave "caduca" no se elimina, solo pide la frase de contraseña nuevamente cuando se intenta utilizarla.La otra opción sería alterar las opciones de inicio para las
ssh-agent
que están almacenadas/System/Library/LaunchAgents/org.openbsd.ssh-agent.plist
y agregar-t
allí. (Lo usoLaunchControl
para cambiarlos, pero puede hacerlo a mano si tiene cuidado).fuente
ssh-add
manualmente antes de ejecutarssh
cada vez. Es interesante, pero realmente estoy buscando algo automático.org.openbsd.ssh-agent.plist
soluciónOtra solución es:
Con esta solución, no tiene que elegir un tiempo de espera para todo su llavero, bastante molesto cuando desea establecer un tiempo de espera de unos segundos para la grabación de su contraseña de clave privada, y no tiene que deshabilitar su SIP para editar / Sistema / Library / LaunchAgents / org.openbsd.ssh-agent.plist.
fuente