Las claves SSH son el mecanismo estándar para autenticarse en servidores Linux, servicios Git (GitHub, GitLab, Bitbucket) y sistemas remotos sin exponer contraseñas. Este generador de claves SSH produce pares Ed25519 (recomendado en 2026), ECDSA o RSA directamente en tu navegador usando Web Crypto, sin recurrir a servidores externos ni almacenar la clave privada.
Ed25519 vs RSA vs ECDSA
Ed25519 (basado en curva Edwards) es más rápido, produce claves más cortas (68 caracteres frente a los ~700 de RSA 4096) y es igual o más seguro. Es el recomendado por defecto en OpenSSH desde la 6.5 (2014). RSA 4096 sigue siendo válido y compatible con sistemas antiguos. ECDSA con curvas NIST tiene mala prensa por sospechas de backdoor; evítalo salvo requerimiento explícito.
Passphrase: sí o no
Cifrar la clave privada con una passphrase añade una segunda capa: alguien que robe el archivo id_ed25519 no podrá usarlo sin la frase. En producción combínalo con ssh-agent para no teclearla en cada conexión. Para claves de deploy en servidores efímeros (CI/CD) puedes prescindir de passphrase pero limita mucho los permisos (deploy-only, sudo restringido).
Formatos: OpenSSH, PEM, PKCS#8
OpenSSH usa un formato propio (empieza por ssh-ed25519, ssh-rsa). PEM PKCS#8 es el estándar interoperable (BEGIN PRIVATE KEY). Nuestra herramienta exporta PKCS#8; conviértelo con `ssh-keygen -p -m PEM -f id_key` si necesitas el formato antiguo. La clave pública en authorized_keys usa el formato OpenSSH de una sola línea.
Buenas prácticas de rotación y hardening
Rota claves cada 12 meses o al cambiar de dispositivo. Nunca compartas una clave privada entre personas. Deshabilita PasswordAuthentication en /etc/ssh/sshd_config y usa Match User para restringir comandos permitidos. Considera FIDO2 con `-t ed25519-sk` para claves respaldadas por hardware (YubiKey).
Casos de uso comunes
- Añadir tu clave pública a GitHub/GitLab para clonar por SSH.
- Configurar autenticación sin contraseña en servidores Linux.
- Emitir claves de deploy para pipelines de CI/CD con permisos limitados.
- Crear claves temporales para acceder a máquinas en la nube.
Buenas prácticas
- Ed25519 por defecto; RSA 4096 solo si necesitas compatibilidad heredada.
- Passphrase + ssh-agent para uso interactivo.
- Permisos 600 en la clave privada y 644 en la pública.
- Registra cada clave con un comentario descriptivo (email, host, propósito).