Configuracion‐SSH - ErMonV/Git-GitHub-Notes GitHub Wiki
🔐 Configuración Completa de Git con Autenticación SSH para GitHub
Antes de Usar GitHub la configuración SSH es obligatoria. Esto te permitirá interactuar con repositorios privados en GitHub (o hacer push/pull de forma segura) mediante autenticación SSH.
Para más información visita Configuración de Git y Generación de una nueva clave SSH y adición al agente SSH
🔑 Configuración de Claves SSH (Todos los Sistemas)
1. Verificar si ya tienes claves SSH existentes
🐚 PowerShell/🖥️ Git Bash:
ls ~/.ssh/id_*
💻CMD:
dir %USERPROFILE%\.ssh\id_*.pub
Si ves archivos como id_ed25519.pub o id_rsa.pub ya tienes claves y no necesitas generarlas. Puedes saltar al paso 3.
2. Generar nueva clave SSH (Elige tu sistema)
🐚 PowerShell:
ssh-keygen -t ed25519 -C "[email protected]"
# Presiona Enter 3 veces (sin contraseña)
🖥️ Git Bash:
ssh-keygen -t ed25519 -C "[email protected]"
O si tu sistema no soporta Ed25519:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
💻 CMD:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
3. Iniciar el ssh-agent y agregarle tu clave
Windows (🐚 PowerShell/💻 CMD):
# Configurar el servicio para que se inicie automáticamente
Get-Service -Name ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent
# Agregar clave: En una terminal normal (no como administrador)...
# Opción 1 (con comillas)
ssh-add "$HOME\.ssh\id_ed25519"
# Opción 2 (ruta absoluta)
ssh-add C:\Users\TU_USUARIO\.ssh\id_ed25519
# Opción 3 (usando Resolve-Path)
ssh-add (Resolve-Path ~\.ssh\id_ed25519).Path
🖥️ Git Bash:
# Configurar el servicio para que se inicie automáticamente
eval "$(ssh-agent -s)"
# Agregar clave: En una terminal normal (no como administrador)...
# Opción 1 (ruta relativa)
ssh-add ~/.ssh/id_ed25519
# Opción 2 (ruta absoluta - reemplaza TU_USUARIO)
ssh-add /c/Users/TU_USUARIO/.ssh/id_ed25519
# Opción 3 (escapando espacios si los hay)
ssh-add "$HOME/.ssh/id_ed25519"
4. Copiar clave pública al portapapeles
🐚 PowerShell:
#Opción recomendada
Get-Content ~/.ssh/id_ed25519.pub | Set-Clipboard
#Opción alternativa
cat ~\.ssh\id_ed25519.pub | clip
🖥️ Git Bash:
cat ~/.ssh/id_ed25519.pub | clip
💻 CMD:
type %USERPROFILE%\.ssh\id_rsa.pub | clip
(Copia manualmente la salida que comienza con ssh-ed25519...)
5. 🔗 Vincular Clave SSH con GitHub
-
Ve a GitHub.com > Settings > SSH and GPG keys o haz click aquí.
-
Haz clic en "New SSH Key"
-
Pega tu clave pública (que copiaste antes)
-
Dale un nombre descriptivo (ej: "Portátil Personal")
-
Haz clic en "Add SSH Key"
6. 🧪 Probar la Conexión SSH
ssh -T [email protected]
La primera vez que te conectes te aparecerá un mensaje como este:
The authenticity of host 'github.com (140.82.112.3)' can't be established. ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])?
Qué está pasando:
-
GitHub te está presentando su "huella digital" (fingerprint) para que verifiques que realmente estás conectándote al servidor correcto (y no a uno malicioso)
-
El fingerprint que muestra (SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU) es el correcto para github.com
Qué debes hacer:
- Verifica que el fingerprint coincida con el oficial de GitHub:
- El que ves debe coincidir exactamente con: SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU
- Escribe yes y presiona Enter para continuar (solo esta primera vez)
Qué pasará después:
- El sistema guardará este fingerprint en ~/.ssh/known_hosts para futuras conexiones
- Verás un mensaje como:
Hi [tu_usuario]! You've successfully authenticated, but GitHub does not provide shell access.
(Esto confirma que tu conexión SSH está funcionando correctamente)
7. 🚀 Configura tu Repositorio para Usar SSH
Después de esto, cuando clones un repositorio, usa la URL SSH (no HTTPS). Para repositorios nuevos:
git clone [email protected]:usuario/repositorio.git
Para repositorios existentes (cambiar de HTTPS a SSH):
git remote set-url origin [email protected]:usuario/repositorio.git