Skip to content

Configurar SSH para GitHub

Guía para configurar claves SSH y poder clonar repositorios privados desde tu VPS.

  • ✅ No necesitas introducir usuario/contraseña cada vez
  • ✅ Más seguro con autenticación por clave
  • ✅ Funciona con repositorios privados sin problemas
  • ✅ Recomendado para servidores de producción
Terminal window
# Conectar al VPS
ssh root@tu-ip-vps
# Generar clave SSH (usar email de tu cuenta GitHub)
ssh-keygen -t ed25519 -C "tu@email.com"

Cuando pregunte:

  • Enter file: Presiona Enter (usar ubicación por defecto)
  • Passphrase: Presiona Enter 2 veces (sin passphrase para automatización)

Esto crea dos archivos:

  • ~/.ssh/id_ed25519 - Clave privada (¡NO compartir!)
  • ~/.ssh/id_ed25519.pub - Clave pública (esta la copiarás a GitHub)
Terminal window
# Mostrar la clave pública
cat ~/.ssh/id_ed25519.pub

Copia todo el contenido que aparece (empieza con ssh-ed25519).

  1. Ve a GitHub.com y haz login
  2. Click en tu foto de perfil → Settings
  3. En el menú lateral → SSH and GPG keys
  4. Click en New SSH key
  5. Rellena:
    • Title: VPS Hostinger (o nombre descriptivo)
    • Key: Pega la clave pública copiada
  6. Click en Add SSH key
  7. Confirma con tu contraseña si te la pide
Terminal window
# Probar conexión con GitHub
ssh -T git@github.com

Deberías ver:

Hi usuario! You've successfully authenticated, but GitHub does not provide shell access.

Si es la primera vez, preguntará si confías en el host. Escribe yes y presiona Enter.

Terminal window
# Configurar nombre y email para commits
git config --global user.name "Tu Nombre"
git config --global user.email "tu@email.com"
# Verificar configuración
git config --list

Ahora puedes clonar usando SSH:

Terminal window
# Formato SSH (recomendado)
git clone git@github.com:usuario/repositorio.git
# Ejemplo con vps-docs
git clone git@github.com:daniclemente/vps-docs.git
Terminal window
# Verificar que la clave existe
ls -la ~/.ssh/
# Verificar agente SSH
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
# Verificar conexión
ssh -T git@github.com

Error: Could not open a connection to your authentication agent

Section titled “Error: Could not open a connection to your authentication agent”
Terminal window
# Iniciar agente SSH
eval "$(ssh-agent -s)"
# Añadir clave
ssh-add ~/.ssh/id_ed25519
Terminal window
# Verificar permisos correctos
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub

Si usas varias cuentas de GitHub o servicios:

Terminal window
# Crear archivo de configuración SSH
vim ~/.ssh/config

Contenido:

# GitHub personal
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519
# GitHub trabajo (ejemplo)
Host github-work
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work

Luego clonar con:

Terminal window
git clone git@github-work:empresa/repositorio.git

Si necesitas cambiar la clave:

Terminal window
# Generar nueva clave con nombre diferente
ssh-keygen -t ed25519 -C "tu@email.com" -f ~/.ssh/id_ed25519_new
# Mostrar nueva clave pública
cat ~/.ssh/id_ed25519_new.pub
# Añadir a GitHub (repetir paso 3)
# Actualizar ~/.ssh/config si usas múltiples claves
Terminal window
# Clave PRIVADA - NO compartir
~/.ssh/id_ed25519
# Clave PÚBLICA - OK compartir
~/.ssh/id_ed25519.pub
Terminal window
# Hacer backup de claves en local (desde tu PC)
scp root@tu-ip-vps:~/.ssh/id_ed25519 ~/backup-ssh/vps-key
scp root@tu-ip-vps:~/.ssh/id_ed25519.pub ~/backup-ssh/vps-key.pub

Guarda estas claves en lugar seguro (gestor de contraseñas, disco cifrado).

Terminal window
# Probar clonado de repositorio
cd /root
git clone git@github.com:daniclemente/vps-docs.git
cd vps-docs
# Verificar
ls -la

Si todo funciona, ya puedes clonar cualquier repositorio de tu cuenta GitHub.

Vuelve a la guía de despliegue correspondiente para continuar: