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:
- Qué necesitas tener listo antes.
- Cómo generar una clave moderna correctamente.
- Cómo funciona el agente SSH en Ubuntu.
- Cómo registrar la clave en GitHub.
- 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/:
id_ed25519→ clave privada.id_ed25519.pub→ clave pública.
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
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:
- Tres claves distintas.
- El agente cargando una diferente.
- GitHub con otra registrada.
- Repos configurados con HTTPS y SSH mezclados.
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"
-t ed25519→ algoritmo moderno recomendado.-C→ comentario para identificar la clave.
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:
- Pega la clave pública.
- Asigna un nombre identificable.
- 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
- Tener Git configurado: Instala y configura Git en Ubuntu
- Generar clave: con
ssh-keygen -t ed25519 -C "tu-email@ejemplo.com" - Usar passphrase.
- Iniciar agente:
eval "$(ssh-agent -s)" - Agregar clave:
ssh-add ~/.ssh/id_ed25519 - Subir
.puba GitHub. - 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.