Logotipo de Bitdoze

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.

Dragos

Actualizado Publicado 6 min de lectura

Cómo vincular GitHub con una clave SSH en macOS o Linux

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:

bash
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:

bash
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:

bash
eval "$(ssh-agent -s)"
ssh-add --apple-use-keychain ~/.ssh/id_ed25519

Despué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:

bash
touch ~/.ssh/config

Añade estas líneas:

text
Host github.com
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519

Si 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:

bash
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

En 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:

bash
# 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.pub

Luego ve a GitHub:

  1. Haz clic en tu foto de perfil (arriba a la derecha) → Settings.
  2. En la barra lateral izquierda, dentro de «Access», haz clic en SSH and GPG keys.
  3. Haz clic en New SSH key.
  4. Ponle un título (p. ej., «Portátil personal» o «MacBook del trabajo»).
  5. Pega la clave pública en el campo Key.
  6. Haz clic en Add SSH key.
Página de configuración de claves SSH en GitHub Añadiendo una clave SSH a GitHub

Probar la conexión

bash
ssh -T [email protected]

Deberías ver:

text
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.

Creando un nuevo repositorio en GitHub

Hacer push desde la terminal

Asegúrate de que git está instalado:

bash
# macOS
brew install git

# Ubuntu/Debian
sudo apt install git -y

Después, inicializa el repositorio y súbelo:

bash
# 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 main

Sustituye yourusername por tu nombre de usuario real de GitHub.

Clonar un repositorio existente

bash
git clone [email protected]:yourusername/some-repo.git

Despué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.