
Utilizo ssh diariamente para iniciar sesión en un par de servidores que administro y uso una clave ssh para iniciar sesión. Debido a que generé mi clave ssh con una contraseña, la primera vez que uso ssh en un día, se me solicita una contraseña. Quiero que esto se vuelva a bloquear periódicamente a lo largo del día, de modo que alguien que tenga acceso a mi computadora portátil mientras está encendida no necesariamente tenga acceso a los servidores. No puedo encontrar una opción para esto y tampoco puedo encontrar un comando para bloquear la llave. Si existe tal comando, podría agregarlo a crontab.
Probablemente la mejor opción sea simplemente no utilizar una clave ssh.
Respuesta1
Probablemente tengas un programa llamado ssh-agent
en ejecución. Cuando se dirige ssh
a otro host, el ssh
comando se comunica con ese ssh-agent
para mantener las claves y sus frases de contraseña.
De forma predeterminada, ssh-agent
recuerda las frases de contraseña para siempre (hasta cerrar sesión), por lo que solo tienes que ingresarlas una vez para cada clave.
El comandossh-add
se utiliza para gestionar la lista de identidades que ssh-agent
conoce.
Para mostrar la lista de claves que ssh-agent
conoce, emita
ssh-add -l
Para hacerloolvidarsus claves y frases de contraseña, problema
ssh-add -D
Cuando ingrese ssh
a algún host, nuevamente se le solicitará la frase de contraseña.
También es posible suministrar untoda la vidapara una frase de contraseña:
ssh-add -t 3600 # 1 hour
pero esto no funcionó para mí (o hice algo mal). Configuraría un cronjob que se realiza ssh-add -D
cada N horas. Esto puede ser un poco complicado porque ssh-add
necesita que la variable de entorno SSH_AUTH_SOCK
se comunique con el ssh-agent
y esa variable presumiblemente no esté configurada en cron.
Pero, como se indica en un comentario, no debes dejar tu computadora portátil desatendida mientras estás fuera, sino bloquearla con llave.
Respuesta2
¿Podría simplemente escribir una línea en su $HOME/.bash_logout
archivo que mueva su clave SSH de su ~/.ssh/
directorio a un directorio diferente? Luego haz lo contrario en $HOME/.bash_login
.