¿Qué son las llaves SSH?
Las llaves SSH (Secure Shell) son un método de autenticación basado en criptografía asimétrica que te permite conectarte de forma segura a servidores Git (como GitHub, GitLab, Bitbucket) sin necesidad de ingresar tu usuario y contraseña cada vez que realizas una operación.
¿Cómo funcionan las llaves SSH?
El sistema SSH utiliza un par de llaves criptográficas:
🔑 Llave Privada
- Se almacena únicamente en tu computadora (normalmente en
~/.ssh/) - Es tu "identidad digital" - debes mantenerla segura y nunca compartirla
- Se usa para "firmar" digitalmente tus solicitudes de conexión
- Equivale a tu "llave personal"
🔓 Llave Pública
- Se puede compartir libremente sin comprometer la seguridad
- Se agrega a tu cuenta en el servidor Git (GitHub, GitLab, etc.)
- Se usa para verificar que tu llave privada es auténtica
- Equivale a un "candado" que solo tu llave privada puede abrir
Proceso de Autenticación
- Tu computadora envía una solicitud de conexión al servidor Git
- El servidor verifica que tu llave pública esté autorizada en tu cuenta
- El servidor envía un desafío criptográfico a tu computadora
- Tu llave privada firma el desafío y envía la respuesta
- El servidor verifica la firma usando tu llave pública
- Si la verificación es exitosa, se establece la conexión segura
Ventajas de usar SSH Keys
🛡️ Seguridad Superior
- Criptografía fuerte: Incluso contraseñas muy largas no ofrecen el mismo nivel de seguridad
- Sin contraseñas en tránsito: No se envían credenciales por la red
- Resistente a ataques: Los ataques de fuerza bruta son prácticamente imposibles
⚡ Mejor Experiencia
- Conexión automática: No necesitas escribir credenciales manualmente
- Single Sign-On: Una sola configuración para todos tus repositorios
- Automatización: Perfecto para scripts y procesos automatizados
🔒 Control de Acceso
- Revocación inmediata: Puedes eliminar acceso instantáneamente desde tu cuenta
- Múltiples llaves: Diferentes llaves para diferentes propósitos o dispositivos
- Auditoría: Registro claro de cuándo y cómo se usan las llaves
Casos de Uso Comunes
- Desarrollo diario: Push, pull, fetch, clone de repositorios
- CI/CD: Automatización de despliegues y builds
- Servidores: Acceso automatizado a repositorios en producción
- Múltiples cuentas: Manejo de cuentas personales y profesionales
Algoritmos de Encriptación
Los algoritmos más comunes y recomendados son:
- Ed25519 (recomendado): Más rápido y seguro
- RSA: Tradicional, compatible con sistemas antiguos
- ECDSA: Buena opción moderna alternativa
aviso
Siempre protege tu llave privada con una passphrase fuerte y nunca la compartas con nadie.