Cómo vincular GitHub con una clave SSH en macOS o Linux
Un tutorial que puedes seguir para crear tu primer repositorio de GitHub y vincularlo por SSH a tu portátil.
Actualizado Publicado 6 min de lectura

GitHub usa claves SSH para autenticar tu equipo, de modo que puedas hacer push, pull y clonar repositorios sin escribir tu contraseña cada vez. Esta guía te lleva paso a paso por la generación de una clave SSH en macOS o Linux, cómo añadirla a tu cuenta de GitHub y cómo hacer push de tu primer repositorio.
Generar una clave SSH
Abre una terminal y ejecuta:
ssh-keygen -t ed25519 -C "[email protected]"Sustituye [email protected] por el correo asociado a tu cuenta de GitHub. La opción -C es solo una etiqueta (un comentario): no afecta a la seguridad de la clave.
Cuando te lo pida, pulsa Enter para aceptar la ubicación por defecto del archivo (~/.ssh/id_ed25519). Después se te pedirá una frase de contraseña (passphrase). Pon una. Protege la clave privada si tu equipo se pierde o queda comprometido. El ssh-agent se encargará de ella para que no tengas que escribirla cada vez.
Si estás en un sistema antiguo que no soporta ed25519 (poco probable en 2025 o posterior, pero posible), usa RSA como alternativa:
ssh-keygen -t rsa -b 4096 -C "[email protected]"¿Por qué ed25519 en lugar de RSA? Las claves Ed25519 son más cortas, más rápidas de generar y criptográficamente equivalentes a una clave RSA de 4096 bits. GitHub recomienda ed25519 como opción por defecto.
Iniciar ssh-agent y añadir tu clave
macOS
Inicia el agente y añade tu clave:
eval "$(ssh-agent -s)"
ssh-add --apple-use-keychain ~/.ssh/id_ed25519Después, configura SSH para cargar las claves automáticamente en el agente y guardar la frase de contraseña en tu llavero. Crea o edita ~/.ssh/config:
touch ~/.ssh/configAñade estas líneas:
Host github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519Si no pusiste una frase de contraseña, omite la línea UseKeychain. Si obtienes el error Bad configuration option: usekeychain, añade IgnoreUnknown UseKeychain en una línea aparte dentro del mismo bloque Host.
Linux
Inicia el agente y añade tu clave:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519En la mayoría de las distribuciones Linux modernas (Ubuntu 22.04+, Fedora, etc.), el ssh-agent se inicia automáticamente con tu sesión de escritorio. Si ssh-add muestra «Could not open a connection to your authentication agent», ejecuta primero el comando eval de arriba.
Añadir la clave SSH a GitHub
Copia la clave pública en el portapapeles:
# macOS
pbcopy < ~/.ssh/id_ed25519.pub
# Linux (con xclip)
xclip -selection clipboard < ~/.ssh/id_ed25519.pub
# Linux (sin xclip: solo muestra la clave; cópiala a mano)
cat ~/.ssh/id_ed25519.pubLuego ve a GitHub:
- Haz clic en tu foto de perfil (arriba a la derecha) → Settings.
- En la barra lateral izquierda, dentro de «Access», haz clic en SSH and GPG keys.
- Haz clic en New SSH key.
- Ponle un título (p. ej., «Portátil personal» o «MacBook del trabajo»).
- Pega la clave pública en el campo Key.
- Haz clic en Add SSH key.


Probar la conexión
ssh -T [email protected]Deberías ver:
Hi username! You've successfully authenticated, but GitHub does not provide shell access.Si obtienes el error «Permission denied», comprueba que la clave se añadió correctamente y que el ssh-agent la tiene cargada (ssh-add -l lista las claves cargadas).
Vídeo paso a paso en YouTube
Crear un repositorio y hacer push desde tu equipo
Ahora que SSH está configurado, puedes crear un repositorio en GitHub y subir código a él.
Crear el repositorio en GitHub
En GitHub, haz clic en el icono + (arriba a la derecha) → New repository. Rellena:
- Repository name: el que quieras (p. ej.,
test-repo). - Description: opcional.
- Private o Public: tú eliges.
Haz clic en Create repository.

Hacer push desde la terminal
Asegúrate de que git está instalado:
# macOS
brew install git
# Ubuntu/Debian
sudo apt install git -yDespués, inicializa el repositorio y súbelo:
# Crear el directorio del proyecto y entrar en él
mkdir test-repo && cd test-repo
# Inicializar el repositorio git
git init
# Crear un archivo
echo "# test-repo" >> README.md
# Preparar, confirmar y subir los cambios
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin [email protected]:yourusername/test-repo.git
git push -u origin mainSustituye yourusername por tu nombre de usuario real de GitHub.
Clonar un repositorio existente
git clone [email protected]:yourusername/some-repo.gitDespués de clonar, haz tus cambios, confirma (commit) y sube (push) como de costumbre.
Resumen de los archivos SSH
| Archivo | Qué es |
|---|---|
~/.ssh/id_ed25519 |
Tu clave privada. No la compartas nunca. |
~/.ssh/id_ed25519.pub |
Tu clave pública. Esta es la que va en GitHub. |
~/.ssh/config |
Configuración del cliente SSH (opcional, pero útil en macOS). |
La clave privada se queda en tu equipo. La clave pública se puede añadir a tantas cuentas de GitHub o servidores como necesites. Si configuras una máquina nueva, genera un par de claves nuevo y añade la pública a GitHub: no copies la clave privada entre máquinas.


