Configuración de SSH en GitHub para Windows, Linux y Mac

Clase 14 de 42Curso de Git y GitHub

Resumen

Usar SSH para interactuar con GitHub es una excelente forma de aumentar la seguridad y mejorar la comodidad en el manejo de repositorios. A continuación, te explicamos el paso a paso para generar y configurar tus llaves SSH en distintos sistemas operativos y cómo integrarlas en tu perfil de GitHub para mejorar la experiencia de clonación y autenticación.

¿Por qué es mejor usar SSH en lugar de HTTPS para GitHub?

  • Seguridad adicional: SSH permite autenticar la computadora específica que accede a los repositorios sin necesidad de ingresar una contraseña cada vez.
  • Comodidad: Evita la necesidad de escribir tu contraseña en cada operación con GitHub, agilizando el flujo de trabajo.

¿Cómo generar una llave SSH en Windows y Linux?

  1. Instalar WSL si estás en Windows (opcional si usas Linux nativo).
  2. Verificar que no tienes llaves previas: Ve al menú de “Code” en GitHub y verifica que la opción de SSH no tenga llaves configuradas.
  3. Generar la llave SSH: En la terminal, usa el comando:
    ssh-keygen -t ed25519 -C "tu_correo@example.com"
    
    • -t ed25519 establece el nivel de encriptación.
    • -C añade un comentario con tu correo, útil para identificar la llave en GitHub.
  4. Guardar y proteger la llave:
    • Usa el nombre por defecto y añade una contraseña segura.
    • La llave pública se guarda en el directorio .ssh, generalmente nombrada id_ed25519.pub.
  5. Configurar el agente SSH: Activa el agente de SSH y añade la llave privada:
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519
    

¿Cómo añadir la llave SSH a GitHub?

  1. Abrir el archivo de la llave pública (id_ed25519.pub) y copia el contenido.
  2. En GitHub, ve a Settings > SSH and GPG keys > New SSH key y pega la llave.
  3. Nombra la llave de acuerdo a la computadora en la que estás configurándola.

¿Qué pasos adicionales seguir en Mac?

  1. Crear el archivo de configuración SSH: Abre o crea el archivo config dentro del directorio .ssh.

  2. Agregar parámetros específicos de Mac: Añade la configuración para integrar SSH con el sistema Keychain:

    Host github.com
       AddKeysToAgent yes
       UseKeychain yes
       IdentityFile ~/.ssh/id_ed25519
    
  3. Añadir la llave al agente SSH con Keychain: Usa el comando:

    ssh-add --apple-use-keychain ~/.ssh/id_ed25519
    

¿Cómo verificar la conexión con GitHub?

  1. Comprobar autenticación: En la terminal, ejecuta el comando:
    ssh -T git@github.com
    
    • Escribe “yes” para confirmar la conexión.
    • Aparecerá un mensaje de GitHub que confirma la autenticidad.

¿Cómo clonar un repositorio usando SSH?

  1. En GitHub, selecciona el repositorio deseado, elige la opción de clonación por SSH y copia la URL.
  2. En la terminal, ejecuta:
    git clone git@github.com:usuario/repositorio.git
    
  3. Esto clona el repositorio sin solicitar contraseña, aprovechando la autenticación SSH.