En este artículo vas a aprender exactamente cómo configurar SSH en macOS para usar GitHub, con passphrase y entendiendo cada paso del proceso.
He configurado entornos macOS en equipos nuevos, máquinas formateadas y setups profesionales. Cuando SSH está correctamente configurado, Git funciona sin fricción. Cuando no lo está, cada git push se convierte en un bloqueo innecesario.
El problema es que muchos ejecutan comandos sin entender el flujo. Generan la clave, la suben y asumen que todo quedó listo. Luego aparece Permission denied (publickey) y no saben qué revisar.
Vamos a ver:
- Qué debes tener listo antes.
- Cómo generar la clave correctamente en macOS.
- Cómo funciona el agente SSH.
- Cómo usar el llavero (Keychain) de macOS.
- Cómo registrar la clave en GitHub.
- Cómo validar que todo quedó funcionando.
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
1. Git correctamente configurado
SSH autentica.
Git versiona.
Si aún no configuraste tu identidad en Git, hazlo primero: Instala y configura Git en macOS.
Primero identidad.
Después autenticación.
Ese orden importa.
2. Entender qué estás creando
Cuando configuras SSH generas dos archivos en ~/.ssh/:
id_ed25519→ clave privada.id_ed25519.pub→ clave pública.
La privada nunca se comparte.
La pública se registra en GitHub.
Tu máquina firma solicitudes con la privada.
GitHub valida con la pública.
Si ese flujo no está claro, los errores parecen “aleatorios”.
Ahora veamos por qué suelen fallar las configuraciones.
Por qué muchos fallan al configurar SSH
El error clásico:
Permission denied (publickey).
Suele deberse a:
- La clave no está cargada en el agente.
- El repositorio usa HTTPS en vez de SSH.
- Subiste una clave distinta a GitHub.
- No configuraste el Keychain correctamente en macOS.
En macOS hay un detalle adicional: el sistema puede olvidar la passphrase si no la guardas en el llavero.
Por eso aquí hacemos el proceso completo.
Manual. Claro. Replicable.
Configuración paso a paso en macOS
Paso 1: Generar la clave SSH
ssh-keygen -t ed25519 -C "tu-email@ejemplo.com"
-t ed25519→ algoritmo moderno recomendado.-C→ comentario identificador.
Cuando pregunte la ubicación, presiona ENTER para usar:
~/.ssh/id_ed25519
Luego ingresa una passphrase.
No la dejes vacía.
La passphrase no se muestra mientras la escribes, ni siquiera con asteriscos. Es normal: sigue tecleando y presiona Enter.
Paso 2: Iniciar el agente SSH
eval "$(ssh-agent -s)"
macOS normalmente ya lo tiene disponible, pero es buena práctica asegurarlo.
Paso 3: Agregar la clave al agente y guardarla en el Keychain
Aquí está la diferencia clave con Ubuntu.
En macOS debes usar:
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
Esto:
- Agrega la clave al agente.
- Guarda la passphrase en el llavero del sistema.
Así no tendrás que escribirla cada vez que reinicies.
Paso 4: Configurar el archivo ~/.ssh/config (recomendado)
Edita o crea el archivo:
nano ~/.ssh/config
Agrega:
Host github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
Guarda y cierra.
Usamos Host github.com en vez de Host * a propósito: cuando tengas más claves (otro proveedor, un servidor), cada una vivirá en su propio bloque sin pisarse entre sí.
Esto hace que macOS:
- Cargue la clave automáticamente.
- Use el Keychain.
- Sepa cuál identidad usar.
Aquí es donde muchos fallan.
Paso 5: Copiar la clave pública
En macOS puedes usar:
pbcopy < ~/.ssh/id_ed25519.pub
Ahora la clave está en tu portapapeles. Si prefieres verla antes de copiarla:
cat ~/.ssh/id_ed25519.pub
Paso 6: Registrar la clave en GitHub
Ve a github.com/settings/ssh/new:
- Pega la clave.
- Asigna un nombre.
- Guarda.
Paso 7: Validar conexión
ssh -T git@github.com
Primera vez:
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Escribe yes.
Si todo está correcto verás:
Hi <username>! You've successfully authenticated...
Ese mensaje confirma que macOS está autenticado correctamente.
Checklist final de validación
- Git configurado: Instala y configura Git en macOS
- Clave generada con passphrase.
- Clave agregada con
--apple-use-keychain. ~/.ssh/configcorrectamente configurado.- Clave pública registrada en GitHub.
- Conexión validada con
ssh -T.
Si algo falla, revisa estos puntos.
Siempre es uno de ellos.
Cuando entiendes el flujo, puedes configurar cualquier Mac en minutos sin depender de scripts.
Conclusión
Con este artículo cierras la base completa: sistema, editor, terminal, Git y ahora la autenticación. Tu Mac ya está listo para trabajar con GitHub sin fricción, y con eso terminamos la primera etapa de la serie.
Si esto te fue útil, el artículo relacionado es el paso lógico: Instala y configura Git en macOS, la identidad que esta autenticación necesita.
La próxima semana arranca la segunda etapa de la serie: los lenguajes, empezando por Node.js con un gestor de versiones. Si no te lo quieres perder, suscríbete al newsletter en la portada del blog.