Soy nuevo en las claves ssh. ¿Alguien puede explicar cómo funciona el ssh-agent bashy ssh-add?
Necesito entender sus aspectos internos en el futuro.
Soy nuevo en las claves ssh. ¿Alguien puede explicar cómo funciona el ssh-agent bashy ssh-add?
Necesito entender sus aspectos internos en el futuro.
Respuestas:
Un agente es un programa que mantiene sus claves en la memoria para que solo necesite desbloquearlas una vez , en lugar de cada vez. ssh-agent 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 apropiadas para la instancia de shell actual .
( ssh-agent , cuando se inicia sin argumentos, genera comandos para que sean interpretados por su shell).
exec ssh-agent bash- inicia una nueva instancia del bashshell, reemplazando la 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 automáticamente mata a ssh-agent cuando cierra la ventana de terminal. (Al iniciarlo eval, el agente seguirá ejecutándose, pero inaccesible)
Sin embargo, esto solo inicia un agente vacío. Para hacerlo realmente útil, debe usar ssh-add , que desbloquea sus claves (generalmente ~/.ssh/id_*) y las carga en el agente, haciéndolas accesibles a las conexiones ssh o sftp .
Además, es posible que desee agregar algunas claves al inicio de la sesión.
Edite su ~/.bashrcarchivo 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 ssh daemon está limitado a 6. Esto se puede modificar /etc/ssh/sshd_configcon el MaxAuthTriesvalor.
ssh-addcon "&"? ¿Asume que los archivos de clave privada no están protegidos?