Configura tu llave SSH en GitHub

Resumen

Configurar una llave SSH es el paso que separa a quien escribe contraseñas todo el tiempo de quien trabaja con GitHub de forma segura y fluida. Aquí aprendes a generarla en Ubuntu, registrarla en tu agente SSH y vincularla a tu cuenta de GitHub para empezar a subir código sin fricción.

¿Qué es una llave SSH y por qué la necesitas en GitHub?

Una llave SSH es un mecanismo de autenticación basado en encriptación que reemplaza el flujo tradicional de usuario y contraseña. En lugar de escribir credenciales cada vez que te conectas, tu sistema y GitHub intercambian una llave criptográfica que valida tu identidad de forma automática y segura.

Piénsalo así: tu computadora guarda una parte privada y GitHub guarda la parte pública. Cuando ambas se reconocen, el acceso se concede sin contraseñas adicionales. Existen alternativas físicas como las YubiKey, prácticas porque sirven para iniciar sesión en servicios como Gmail, pero con la desventaja de que si las pierdes, las pierdes. La llave SSH vive en tu sistema y la respaldas tú.

¿Qué es una llave SSH? Es un par de claves criptográficas (una pública y una privada) que te permite autenticarte en servicios como GitHub sin escribir contraseña cada vez. La privada se queda en tu equipo, la pública se sube al servicio.

¿Cómo generar una llave SSH con ssh-keygen en Ubuntu?

El proceso arranca en la terminal con una utilidad que ya viene instalada en Ubuntu: ssh-keygen [01:30]. No necesitas instalar nada extra.

El comando que vas a usar es:

bash ssh-keygen -t ed25519 -C "tu-correo@ejemplo.com"

Aquí hay tres detalles que debes cuidar:

  • La -C debe ir en mayúscula. Si la escribes en minúscula, la terminal responde con too many arguments.
  • El algoritmo ed25519 es el método de encriptación que protege tu llave.
  • El correo entre comillas debe ser el mismo que usas (o usarás) para registrarte en GitHub.

Al ejecutarlo, la terminal te pregunta dónde quieres guardar el archivo. Presiona enter para aceptar la ruta por defecto, normalmente ~/.ssh/id_ed25519. Después te pide una passphrase, una frase contraseña que protege tu llave privada. Escríbela, repítela y memorízala bien, porque la vas a necesitar después.

¿Cómo inicializar el agente SSH y agregar tu llave?

Generar la llave no basta. Necesitas que el agente SSH la reconozca y la mantenga activa durante tu sesión. Para arrancar el agente:

bash eval "$(ssh-agent -s)"

La terminal responde con un process ID, lo que confirma que el agente está corriendo [04:10]. Ahora agregas tu llave con:

bash ssh-add ~/.ssh/id_ed25519

Te pedirá la passphrase que definiste antes. Cuando la escribas correctamente, verás un mensaje de identidad agregada con tu correo. Listo, tu sistema ya tiene la llave activa.

¿Para qué sirve el ssh-agent? Es un proceso en segundo plano que guarda tus llaves SSH desbloqueadas durante la sesión, así no tienes que escribir la passphrase cada vez que te conectas a un repositorio.

¿Cómo vincular tu llave SSH pública a tu cuenta de GitHub?

Falta el paso que conecta tu computadora con GitHub: registrar la parte pública de la llave en tu cuenta. Para verla en pantalla y copiarla, usa el comando cat:

bash cat ~/.ssh/id_ed25519.pub

El archivo .pub contiene tu llave pública, la única que debes compartir. Cópiala con precisión, sin agregar espacios ni saltos de línea extra [06:45].

¿Dónde se pega la llave SSH en GitHub?

Con la llave copiada, ve a GitHub y sigue esta ruta:

  1. Haz clic en tu avatar en la esquina superior derecha y entra a Settings.
  2. En el menú lateral, busca la sección Access y selecciona SSH and GPG keys.
  3. Haz clic en New SSH key.
  4. Asigna un título descriptivo que identifique el equipo. Por ejemplo: Windows laptop WSL Ubuntu. Esto te salva cuando manejas varias llaves en distintas máquinas.
  5. Pega tu llave pública en el campo Key.
  6. Confirma con Add SSH key.

GitHub mostrará la llave con la nota de que nunca se ha usado, pero eso es normal: se actualizará la primera vez que la utilices para conectarte. Si tu cuenta aún no existe, regístrate en sign up con un correo válido, una contraseña segura (números, mayúsculas, símbolos) y un username propio antes de continuar.

Habilidades y conceptos clave que practicaste

Este flujo deja varios aprendizajes técnicos listos para tu día a día como desarrollador o desarrolladora:

  • Encriptación con ed25519: el algoritmo moderno y seguro recomendado para llaves SSH.
  • Uso de ssh-keygen: la utilidad nativa de Linux para generar pares de llaves criptográficas.
  • Gestión del ssh-agent: el proceso que mantiene tu llave activa durante la sesión [04:00].
  • Comando cat: una herramienta básica de Linux para imprimir el contenido de archivos en la terminal [06:30].
  • Manejo de passphrase: la capa adicional de protección que blinda tu llave privada.
  • Configuración en GitHub Settings > Access: el lugar exacto donde se administran llaves SSH y GPG.

Con tu llave configurada en ambos lados, ya puedes empezar a subir código a GitHub sin contraseñas y sin fricción. Si quieres profundizar en cómo funciona la criptografía detrás de SSH y todo el flujo de Git, el siguiente paso natural es seguir con el curso de Git y GitHub. ¿Te animas a contar en los comentarios qué nombre le pusiste a tu llave?