Un agente es un programa que guarda tus claves en la memoria para que solo tengas que desbloquearlas una vez , en lugar de cada vez. agente-ssh hace esto para las claves SSH.
Los métodos habituales para iniciar ssh-agent son:
-
eval `ssh-agent`
– esto ejecuta el agente en segundo plano y establece las variables de entorno adecuadas para el actual instancia de shell.(agente-ssh , cuando se inicia sin argumentos, genera comandos para que los interprete su shell).
-
exec ssh-agent bash
– comienza un nuevo instancia delbash
shell, reemplazando al actual.(Con uno o más argumentos, ssh-agent no genera nada, pero inicia el comando especificado:en este caso, el
bash
shell, pero técnicamente podría ser cualquier cosa).A veces se prefiere el segundo método, ya que mata automáticamente a ssh-agent cuando cierra la ventana de la terminal. (Al iniciarlo con
eval
, el agente permanecería ejecutándose, pero inaccesible).
Sin embargo, esto solo inicia un agente vacío. Para que sea realmente útil, debe usar ssh-add , que desbloquea tus llaves (generalmente ~/.ssh/id_*
) y los carga en el agente, haciéndolos accesibles para ssh o sftp conexiones.
Además, es posible que desee agregar algunas teclas al inicio de la sesión.
Edita tu ~/.bashrc
archivo y agregue :
ssh-add &>/dev/null || eval `ssh-agent` &>/dev/null # start ssh-agent if not present
[ $? -eq 0 ] && { # ssh-agent has started
ssh-add ~/.ssh/your_private.key1 &>/dev/null # Load key 1
ssh-add ~/.ssh/your_private.key2 &>/dev/null # Load key 2
}
Comprueba tus llaves con ssh-add -l
Puede detener la sesión actual de ssh-agent con ssh-agent -k
Algo que debe saber sobre ssh-agent y .bashrc es no cargar demasiadas claves. El número predeterminado de intentos para el demonio ssh está limitado a 6. Esto se puede modificar en /etc/ssh/sshd_config
con el MaxAuthTries
valor.