Configuración de llaves SSH
Esta guía te mostrará cómo configurar llaves SSH en tu computadora y agregarlas a GitHub para autenticación segura.
Configurar tu llave SSH en tu computadora
Paso 1: Verificar si ya tienes llaves SSH
Antes de crear una nueva llave, verifica si ya tienes una:
ls -la ~/.ssh/
Si ves archivos como id_ed25519 y id_ed25519.pub (o id_rsa y id_rsa.pub), ya tienes llaves SSH configuradas.
Paso 2: Generar una nueva llave SSH
Opción recomendada: Ed25519 (más segura y rápida)
ssh-keygen -t ed25519 -C "tu_email@ejemplo.com"
Para sistemas antiguos: RSA
Si tu sistema no soporta Ed25519, usa RSA:
ssh-keygen -t rsa -b 4096 -C "tu_email@ejemplo.com"
Durante el proceso te preguntará:
- Ubicación del archivo: Presiona
Enterpara usar la ubicación predeterminada - Passphrase: Ingresa una contraseña segura (recomendado) o presiona
Enterpara no usar passphrase
> Generating public/private ed25519 key pair.
> Enter a file in which to save the key (/Users/TU_USUARIO/.ssh/id_ed25519): [Presiona Enter]
> Enter passphrase (empty for no passphrase): [Escribe tu passphrase]
> Enter same passphrase again: [Repite tu passphrase]
Paso 3: Agregar tu llave al SSH Agent
En macOS:
- Inicia el ssh-agent:
eval "$(ssh-agent -s)"
- Configura el archivo
~/.ssh/config:
touch ~/.ssh/config
- Edita el archivo de configuración:
open ~/.ssh/config
Agrega el siguiente contenido:
Host github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
- Agrega tu llave privada al ssh-agent:
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
En Linux:
- Inicia el ssh-agent:
eval "$(ssh-agent -s)"
- Agrega tu llave privada:
ssh-add ~/.ssh/id_ed25519
En Windows:
- Inicia el ssh-agent (en PowerShell como administrador):
Get-Service -Name ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent
- Agrega tu llave privada (en terminal normal):
ssh-add c:/Users/TU_USUARIO/.ssh/id_ed25519
Agregar tu llave SSH a GitHub
Paso 1: Copiar tu llave pública
En macOS:
pbcopy < ~/.ssh/id_ed25519.pub
En Linux:
cat ~/.ssh/id_ed25519.pub
# Selecciona y copia el contenido mostrado
En Windows:
clip < ~/.ssh/id_ed25519.pub
Paso 2: Agregar la llave a tu cuenta de GitHub
-
Ve a GitHub.com y inicia sesión en tu cuenta
-
Accede a la configuración:
- Haz clic en tu foto de perfil (esquina superior derecha)
- Selecciona "Settings"
-
Navega a SSH Keys:
- En la barra lateral izquierda, haz clic en "SSH and GPG keys"
-
Agrega una nueva llave:
- Haz clic en "New SSH key" o "Add SSH key"
-
Completa la información:
- Title: Dale un nombre descriptivo (ej: "MacBook Personal", "Laptop de trabajo")
- Key type: Selecciona "Authentication Key"
- Key: Pega tu llave pública copiada anteriormente
-
Guarda la llave:
- Haz clic en "Add SSH key"
- Es posible que te pida confirmar con tu contraseña de GitHub
Paso 3: Verificar la configuración
Prueba tu conexión SSH con GitHub:
ssh -T git@github.com
Deberías ver un mensaje como:
> Hi tu_usuario! You've successfully authenticated, but GitHub does not provide shell access.
Paso 4: Configurar repositorios para usar SSH
Para repositorios nuevos, clona usando SSH:
git clone git@github.com:usuario/repositorio.git
Para repositorios existentes que usan HTTPS, cambia la URL:
git remote set-url origin git@github.com:usuario/repositorio.git
Usar GitHub CLI (Alternativa)
Si tienes GitHub CLI instalado, puedes agregar tu llave SSH más fácilmente:
# Instalar GitHub CLI (macOS)
brew install gh
# Autenticarse
gh auth login
# Agregar llave SSH
gh ssh-key add ~/.ssh/id_ed25519.pub --title "Mi Computadora"
Troubleshooting Común
Error: "Permission denied (publickey)"
- Verifica que el ssh-agent esté ejecutándose
- Confirma que agregaste la llave al ssh-agent
- Verifica que la llave pública esté en tu cuenta de GitHub
Error: "ssh-add: illegal option -- apple-use-keychain"
En versiones antiguas de macOS, usa:
ssh-add -K ~/.ssh/id_ed25519
Verificar qué llaves están cargadas
ssh-add -l