Sobre esta herramienta
Un par de claves SSH consta de una clave pública que subes a los servidores (en `~/.ssh/authorized_keys` del servidor, o como clave de despliegue en GitHub/GitLab) y una clave privada que mantienes en secreto en tu propia máquina. Al conectarte, el servidor reta a tu cliente a demostrar que posee la clave privada que corresponde a la clave pública ya registrada, sin que la clave privada se transmita jamás. Ed25519 es la opción moderna por defecto: usa claves mucho más cortas que RSA (256 bits en lugar de 2048 o más) ofreciendo una seguridad comparable o superior, y es más rápida de generar y verificar. RSA sigue disponible aquí por compatibilidad con servidores antiguos, dispositivos embebidos y ciertas políticas empresariales que aún no han migrado.
Cada byte de este generador se procesa a través de la API WebCrypto integrada en tu navegador, el mismo motor criptográfico que usan HTTPS, WebAuthn y otras funciones de seguridad del navegador. Nada de lo que generes aquí se envía a ningún servidor: el par de claves, su clave pública en formato OpenSSH, su clave privada codificada en PEM y su huella SHA-256 se generan, codifican y muestran localmente en esta pestaña, y desaparecen en cuanto navegas a otra página o recargas (a diferencia de otras herramientas del sitio, esta página no guarda tus claves en `localStorage`). Descarga el archivo `.pub` al `authorized_keys` de tu servidor, descarga la clave privada en `~/.ssh/` con `chmod 600`, y compara la huella con la salida de `ssh-keygen -lf` para confirmar que no se alteró nada durante la transferencia.
Preguntas frecuentes
¿Debo usar Ed25519 o RSA?
Ed25519 es la recomendación moderna: claves más pequeñas, operaciones más rápidas y una seguridad igualmente sólida, y es compatible con todas las versiones actuales de OpenSSH. Usa RSA (4096 bits) solo si debes conectarte a un servidor mucho más antiguo que carezca de soporte para Ed25519.
¿Cómo instalo la clave pública en un servidor?
Agrega el contenido del archivo .pub descargado a ~/.ssh/authorized_keys en el servidor (o usa `ssh-copy-id` desde tu terminal si también guardaste la clave privada localmente), luego mantén el archivo de clave privada en secreto y referéncialo con `ssh -i ruta/a/la/clave usuario@host`.