Si inicia sesión en una sesión gráfica, organice el inicio ssh-agent
durante el inicio de la sesión. Algunas distribuciones ya lo hacen por ti. Si el suyo no lo hace, organice la ejecución ssh-agent
desde el script de inicio de sesión o desde su administrador de ventanas. Cómo hacerlo depende de su entorno de escritorio y su administrador de ventanas. Por ejemplo, si inicia su administrador de ventanas manualmente, simplemente reemplace la llamada a my_favorite_wm
por ssh-agent my_favorite_wm
.
No comience ssh-agent
desde .bashrc
o .zshrc
, ya que estos archivos son ejecutados por cada nuevo shell interactivo. El lugar para comenzar ssh-agent
es en un archivo de inicio de sesión como .profile
o .xsession
.
Si desea usar el mismo agente SSH en todos los procesos, sin importar desde dónde inició sesión, puede hacer que siempre use el mismo nombre de socket, en lugar de usar un socket con nombre aleatorio. Por ejemplo, puede poner esto en su ~/.profile
:
export SSH_AUTH_SOCK=~/.ssh/ssh-agent.$HOSTNAME.sock
ssh-add -l 2>/dev/null >/dev/null
if [ $? -ge 2 ]; then
ssh-agent -a "$SSH_AUTH_SOCK" >/dev/null
fi
$? -ge 2
es porque el código de salida 1 es cuando el agente ssh no tiene claves, pero el agente ssh ya se está ejecutando.