Ir al contenido
Brayan Diaz C
Volver

Configura SSH en Ubuntu para GitHub

En este artículo vas a aprender cómo configurar SSH en Ubuntu para usar GitHub, con passphrase y entendiendo cada paso del proceso.

He configurado entornos Ubuntu en equipos personales, máquinas virtuales, WSL y servidores remotos. Cuando SSH está bien configurado, Git simplemente funciona. Cuando no lo está, cada git push se convierte en fricción.

El problema es que muchos ejecutan comandos sin contexto. Generan la clave, la suben y asumen que todo quedó listo. Luego aparece el clásico Permission denied (publickey) y no saben qué revisar.

Vamos a ver:

  1. Qué necesitas tener listo antes.
  2. Cómo generar una clave moderna correctamente.
  3. Cómo funciona el agente SSH en Ubuntu.
  4. Cómo registrar la clave en GitHub.
  5. Cómo validar la conexión.

Al final no solo tendrás SSH activo. Entenderás el sistema completo.

Tabla de contenidos

Tabla de contenidos

Qué debes tener listo antes de configurar SSH

Antes de empezar: ¿ya configuraste Git?

SSH no reemplaza Git.

SSH autentica. Git versiona.

Si aún no configuraste Git en tu máquina, hazlo primero.

Te dejo la guía paso a paso aquí: Instala y configura Git en Ubuntu.

Primero identidad global. Después autenticación.

Ese orden importa.

Qué vas a crear realmente

Cuando configuras SSH en Ubuntu generas dos archivos dentro de ~/.ssh/:

La privada nunca se comparte. La pública se registra en GitHub.

La autenticación funciona porque tu máquina firma una solicitud con la clave privada y GitHub valida usando la pública.

Si uno de esos puntos falla, la conexión falla.

Error común en Ubuntu

Advertencia

Generar la clave sin passphrase. Muchos tutoriales dejan la contraseña vacía para “hacerlo rápido”, y eso elimina una capa real de seguridad: si alguien accede a tu archivo privado, puede autenticarse como tú.

La passphrase no es opcional. Es parte de una configuración profesional.

Hasta aquí lo conceptual.

Ahora vamos al proceso completo.

Por qué muchos fallan al configurar SSH

La mayoría de errores con SSH no son complejos.

Son desorden.

He visto máquinas con:

El resultado siempre es el mismo:

Permission denied (publickey).

No es GitHub.

No es el repo.

Es inconsistencia.

Por eso prefiero hacer la configuración inicial manualmente en Ubuntu.

Porque cuando algo falle, sabrás exactamente dónde mirar.

Y aquí es donde muchos fallan: generan la clave, pero nunca validan que el agente la tenga cargada.

Vamos a hacerlo correctamente.

Configuración paso a paso en Ubuntu

Paso 1: Generar la clave SSH en Ubuntu

En tu terminal ejecuta:

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

Cuando pregunte dónde guardarla, presiona ENTER para usar la ruta por defecto:

/home/tu-usuario/.ssh/id_ed25519

Luego ingresa una passphrase.

No la dejes vacía.

Al finalizar tendrás:

~/.ssh/id_ed25519
~/.ssh/id_ed25519.pub

Paso 2: Iniciar el agente SSH

En Ubuntu:

eval "$(ssh-agent -s)"

Si devuelve algo como:

Agent pid 12345

Está activo.

Paso 3: Agregar la clave al agente

ssh-add ~/.ssh/id_ed25519

Te pedirá la passphrase.

Para verificar que quedó cargada:

ssh-add -l

Debe mostrar la huella digital de tu clave.

Si no aparece, aquí está el problema.

Paso 4: Copiar la clave pública en Ubuntu

En Ubuntu no tienes pbcopy por defecto.

Usa:

cat ~/.ssh/id_ed25519.pub

Copia manualmente el contenido completo.

Debe comenzar con:

ssh-ed25519 AAAA...

Paso 5: Registrar la clave en GitHub

Ve a github.com/settings/ssh/new:

  1. Pega la clave pública.
  2. Asigna un nombre identificable.
  3. Guarda.

No asumas que ya funciona.

Falta validar.

Paso 6: Probar conexión

ssh -T git@github.com

Primera vez verás:

Are you sure you want to continue connecting (yes/no/[fingerprint])?

Escribe yes para aceptar la autenticación.

Si todo está correcto:

Hi <username>! You've successfully authenticated...

Ese mensaje confirma que Ubuntu está autenticado correctamente contra GitHub.

Checklist final

  1. Tener Git configurado: Instala y configura Git en Ubuntu
  2. Generar clave: con ssh-keygen -t ed25519 -C "tu-email@ejemplo.com"
  3. Usar passphrase.
  4. Iniciar agente: eval "$(ssh-agent -s)"
  5. Agregar clave: ssh-add ~/.ssh/id_ed25519
  6. Subir .pub a GitHub.
  7. Validar conexión.

Si algo falla, revisa estos siete puntos.

Siempre está en uno de ellos.

Cuando entiendes el flujo, puedes replicarlo en cualquier servidor Ubuntu en minutos.

Conclusión

SSH configurado con passphrase, agente cargado y conexión validada: desde hoy tus git push fluyen sin contraseñas ni fricción, y cuando algo falle sabrás exactamente dónde mirar.

Si esto te fue útil, el artículo relacionado es el paso lógico: Instala y configura Git en Ubuntu, la identidad que esta autenticación necesita.

El jueves publico esta misma configuración para macOS, con su detalle propio: el Keychain. Si no te lo quieres perder, suscríbete al newsletter en la portada del blog.

Recursos adicionales


Comparte este post:

Post siguiente
Instala y configura Git en macOS