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 delbashshell, reemplazando al actual.(Con uno o más argumentos, ssh-agent no genera nada, pero inicia el comando especificado:en este caso, el
bashshell, 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.