Pregunta

Utilizo ssh-agent con claves protegidas con contraseña en Linux.Cada vez que inicio sesión en una máquina determinada, hago esto:

eval `ssh-agent` && ssh-add

Esto funciona bastante bien, pero cada vez que inicio sesión y hago esto, creo otro agente ssh.De vez en cuando haré un killall ssh-agent para cosecharlos.¿Existe una forma sencilla de reutilizar el mismo proceso de agente ssh en diferentes sesiones?

¿Fue útil?

Solución

echa un vistazo a Llavero.Fue escrito por personas en una situación similar a la tuya.Llavero

Otros consejos

¿Cuánto control tienes sobre esta máquina?Una respuesta sería ejecutar ssh-agent como un proceso demonio.Otras opciones se explican en esta pagina web, básicamente probando para ver si el agente está presente y luego ejecutándolo si no es así.

Para reproducir una de las ideas aquí:

SSH_ENV="$HOME/.ssh/environment"

function start_agent {
     echo "Initialising new SSH agent..."
     /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
     echo succeeded
     chmod 600 "${SSH_ENV}"
     . "${SSH_ENV}" > /dev/null
     /usr/bin/ssh-add;
}

# Source SSH settings, if applicable

if [ -f "${SSH_ENV}" ]; then
     . "${SSH_ENV}" > /dev/null
     #ps ${SSH_AGENT_PID} doesn’t work under cywgin
     ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
         start_agent;
     }
else
     start_agent;
fi 

Tu puedes hacer:

ssh-agent $SHELL

Esto hará que ssh-agent se cierre cuando se cierre el shell.Seguirán sin compartirse entre sesiones, pero al menos desaparecerán cuando lo hagas.

Dependiendo del shell que utilice, puede configurar diferentes perfiles para shells de inicio de sesión y simples shells nuevos.En general, desea iniciar ssh-agent para los shells de inicio de sesión, pero no para cada subshell.En bash estos archivos serían .bashrc y .bash_login, Por ejemplo.

La mayoría de los Linux de escritorio actualmente ejecutan ssh-agent por usted.Simplemente agrega su clave con ssh-add y luego reenvía las claves a sesiones ssh remotas ejecutando

ssh -A
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top