Saltar al contenido principal

¿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

  1. Tu computadora envía una solicitud de conexión al servidor Git
  2. El servidor verifica que tu llave pública esté autorizada en tu cuenta
  3. El servidor envía un desafío criptográfico a tu computadora
  4. Tu llave privada firma el desafío y envía la respuesta
  5. El servidor verifica la firma usando tu llave pública
  6. 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.