Descripción general
ssh-keygen es un comando indispensable para generar y administrar claves criptográficas utilizadas en el protocolo SSH. Permite conectarse de forma segura a servidores sin contraseña o autenticarse en servicios como Git.
Funciones principales
- Generación de pares de claves SSH de varios tipos (RSA, ED25519, etc.)
- Cambio de la contraseña (passphrase) de claves existentes
- Extracción de la clave pública de una clave privada
- Verificación de la huella digital (fingerprint) de la clave
- Conversión de formatos de clave
Opciones principales
El comando ssh-keygen ofrece varias opciones para la generación y gestión de claves.
Opciones de generación de claves
Opciones de gestión de claves
Comando generado:
Combina los comandos.
Descripción:
`ssh-keygen` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Ejemplos de uso
Puede aprender a generar y administrar claves SSH a través de varios ejemplos de uso de ssh-keygen.
Generación básica de par de claves RSA
ssh-keygen
El uso más común, genera un par de claves RSA en la ruta predeterminada (~/.ssh/id_rsa). Aparecerá un aviso para ingresar la contraseña.
Generación de par de claves ED25519 y adición de comentario
ssh-keygen -t ed25519 -C "your_email@example.com"
Genera una clave de tipo ED25519 y añade un comentario de correo electrónico a la clave pública.
Generación de par de claves con nombre de archivo específico
ssh-keygen -f ~/.ssh/my_custom_key
Genera un archivo de clave con un nombre diferente a la ruta predeterminada. (Ej: ~/.ssh/my_custom_key)
Cambio de la contraseña de una clave existente
ssh-keygen -p -f ~/.ssh/id_rsa
Cambia la contraseña de un archivo de clave privada ya generado. Solicita interactivamente la contraseña actual y la nueva contraseña.
Extracción de clave pública de clave privada
ssh-keygen -y -f ~/.ssh/id_rsa
Extrae la clave pública correspondiente del archivo de clave privada (id_rsa) y la muestra en la salida estándar. Puede guardar esto en el archivo `id_rsa.pub`.
Consejos y precauciones
Consejos y precauciones para usar claves SSH de forma segura y eficiente.
Uso de contraseña (Passphrase)
Establecer una contraseña para la clave privada proporciona una protección adicional contra el uso no autorizado en caso de que la clave se filtre, mejorando la seguridad. Usarla con `ssh-agent` permite usarla en múltiples sesiones sin tener que ingresar la contraseña cada vez.
- **Mejora de seguridad**: Proporciona una capa adicional de protección si la clave privada se ve comprometida.
- **Conveniencia**: Permite el uso en múltiples sesiones con una sola autenticación utilizando `ssh-agent`.
Configuración de permisos de archivo de clave
Los archivos de clave privada deben tener permisos que solo permitan al propietario leer y escribir. Es importante usar `chmod 600` para asegurarse de que otros usuarios no puedan acceder a ellos.
- **Clave privada**: `chmod 600 ~/.ssh/id_rsa` (Solo propietario puede leer/escribir)
- **Clave pública**: `chmod 644 ~/.ssh/id_rsa.pub` (Propietario lee/escribe, grupo/otros leen)
Tipos de clave recomendados
Se recomienda usar claves ED25519 o RSA de 4096 bits para los estándares de seguridad más recientes.
- **ED25519**: Más rápido, más seguro y con un tamaño de clave menor.
- **RSA 4096**: Ampliamente compatible y aún así proporciona una seguridad sólida.