Tema 15 · GitHub & SSH

Introducción a GitHub y Autenticación con Llaves SSH

Aprende qué es GitHub, cómo crear una cuenta y un repositorio remoto, y cómo configurar la autenticación criptográfica segura mediante pares de llaves SSH (algoritmo Ed25519) sin tener que escribir contraseñas.

¿Qué es GitHub y cómo complementa a Git?

GitHub es la plataforma de desarrollo colaborativo en la nube más grande del planeta, con más de 100 millones de desarrolladores. Mientras que Git gestiona las versiones en tu computadora personal, GitHub actúa como el servidor central remoto donde respaldas tu código y colaboras con otros ingenieros.

¿Por qué ya no se usan contraseñas en GitHub?

Desde agosto de 2021, GitHub prohibió el uso de contraseñas tradicionales en la terminal para operaciones de Git debido a vulnerabilidades de seguridad. Ahora se exige uno de dos métodos:

  • Llaves SSH Criptográficas (El método profesional recomendado ⭐): Configuras una llave pública en GitHub y tu computadora firma las conexiones con su llave privada en milisegundos sin pedir contraseñas.
  • Tokens de Acceso Personal (PAT - Personal Access Token): Una contraseña alfanumérica larga generada en GitHub con permisos acotados y fecha de caducidad.

Generación de Llaves SSH con el Algoritmo Moderno Ed25519

El estándar moderno y más seguro en criptografía asimétrica es Ed25519. Para generar tu par de llaves en tu computadora (Windows, Mac o Linux), abre la terminal y ejecuta:

ssh-keygen -t ed25519 -C "[email protected]"

Presiona Enter para aceptar la ruta predeterminada (~/.ssh/id_ed25519). Esto genera dos archivos:

  1. id_ed25519: Tu llave privada. ¡NUNCA la compartas ni la envíes a nadie! Es la llave de tu casa.
  2. id_ed25519.pub: Tu llave pública. Este es el contenido que copias y pegas en tu cuenta de GitHub (Settings ➔ SSH and GPG keys ➔ New SSH Key).

⚡ Paso a Paso para Configurar y Probar SSH con GitHub

Guión completo para generar tu llave SSH, ver su contenido y probar la conexión con GitHub:

configurar-llave-ssh.sh
Solo lectura
# 1. Generar la llave SSH criptográfica moderna:
ssh-keygen -t ed25519 -C "[email protected]"

# 2. Ver el contenido de la llave PÚBLICA para copiarla en GitHub:
# En Windows PowerShell:
cat ~/.ssh/id_ed25519.pub
# En Linux o macOS:
# cat ~/.ssh/id_ed25519.pub

# 3. [Copiar todo el texto que empieza con "ssh-ed25519 AAAA..." y pegarlo en:
#     GitHub.com -> Settings -> SSH and GPG keys -> New SSH Key]

# 4. Probar la conexión segura con GitHub:
ssh -T [email protected]

# Respuesta esperada de éxito:
# Hi davidamador! You've successfully authenticated, but GitHub does not provide shell access.
🦉
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.

🚀 ¿Quieres dominar Manual Completo de Git & GitHub Profesional y crear proyectos reales?

Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.

🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.