Descripción general
ssh-agent almacena de forma segura las claves privadas SSH y las proporciona a los clientes SSH (ssh) cuando es necesario, simplificando el proceso de autenticación. Una vez que se ingresa la frase de contraseña, no es necesario volver a ingresarla mientras el agente esté en ejecución, lo que lo hace conveniente. Esto es especialmente útil en entornos donde se utilizan frecuentemente múltiples conexiones SSH.
Funciones principales
- Gestión y almacenamiento de claves SSH
- Evita la entrada repetida de frases de contraseña
- Comunicación segura con clientes SSH
- Mantenimiento de claves basado en sesión
Opciones principales
ssh-agent se ejecuta principalmente en segundo plano y configura variables de entorno en el shell para que los clientes SSH puedan encontrar el agente.
Ejecución y control
Comando generado:
Combina los comandos.
Descripción:
`ssh-agent` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Ejemplos de uso
Iniciar ssh-agent (bash/sh)
eval "$(ssh-agent -s)"
Inicia ssh-agent en segundo plano y configura las variables de entorno necesarias para la sesión de shell actual.
Agregar clave SSH
ssh-add ~/.ssh/id_rsa
Agrega una clave privada a ssh-agent. Si la clave tiene una frase de contraseña, se ingresará una vez en este punto.
Terminar agente
ssh-agent -k
Termina el proceso ssh-agent conectado a la sesión de shell actual.
Iniciar agente con vida útil de clave de 1 hora
eval "$(ssh-agent -s -t 3600)"
Inicia el agente estableciendo la vida útil máxima de todas las claves agregadas en 1 hora (3600 segundos).
Verificar la lista de claves cargadas actualmente en el agente
ssh-add -l
Verifica la lista de claves SSH cargadas actualmente en ssh-agent.
Consejos y precauciones
Consejos para usar ssh-agent de manera efectiva y mantener la seguridad.
Consejos
- **Inicio automático**: Puede configurar el agente para que se inicie automáticamente al iniciar el shell agregando `eval "$(ssh-agent -s)"` al archivo `.bashrc` o `.zshrc`. Es recomendable agregar lógica para verificar si ya hay un agente en ejecución.
- **Verificar lista de claves**: Puede verificar la lista de claves SSH cargadas actualmente en ssh-agent usando el comando `ssh-add -l`.
- **Eliminar claves**: Puede eliminar una clave específica con `ssh-add -d ~/.ssh/id_rsa` o eliminar todas las claves con `ssh-add -D`.
Precauciones
- **Reenvío de agente**: Si usa la opción `ssh -A` para el reenvío de agente, el servidor remoto podrá acceder a su agente local. Si bien esto es conveniente, existe el riesgo de que sus claves locales queden expuestas si el servidor remoto se ve comprometido, por lo que solo debe usarse en servidores confiables.
- **Vida útil del agente**: Puede establecer la vida útil máxima de las claves con la opción `ssh-agent -t`. Por seguridad, es recomendable evitar vidas útiles demasiado largas.