Script automatizado para configurar claves SSH con GitHub de forma rápida y segura.
Este script automatiza completamente el proceso de generación y configuración de claves SSH para GitHub, eliminando la necesidad de hacerlo manualmente y reduciendo errores comunes.
- ✅ Generación automática de clave SSH ED25519 (más segura que RSA)
- ✅ Configuración automática del archivo SSH config
- ✅ Permisos seguros aplicados automáticamente
- ✅ Validación de archivos generados
- ✅ Instrucciones claras para completar la configuración
- ✅ Compatible con Linux, macOS y WSL
# Descargar y ejecutar
curl -O https://raw.githubusercontent.com/???????/github-ssh-setup/main/setup-github-ssh.sh
chmod +x setup-github-ssh.sh
./setup-github-ssh.sh tu-email@ejemplo.com# Clonar repositorio
git clone https://github.com/???????/github-ssh-setup.git
cd github-ssh-setup
# Ejecutar script
chmod +x setup-github-ssh.sh
./setup-github-ssh.sh tu-email@ejemplo.com./setup-github-ssh.sh
# Te pedirá que ingreses tu email de GitHub- Crea el directorio SSH (
~/.ssh) si no existe - Genera una clave SSH ED25519 con tu email como comentario
- Configura SSH agent y añade la clave
- Muestra tu clave pública para copiar
- Configura el archivo SSH config para GitHub
- Establece permisos seguros en todos los archivos
- Proporciona instrucciones para completar la configuración
Después de ejecutar el script, tendrás:
~/.ssh/
├── id_github # Clave privada (permisos 600)
├── id_github.pub # Clave pública (permisos 644)
└── config # Configuración SSH (permisos 644)
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_github
- Copia tu clave pública (el script la mostrará en pantalla)
- Ve a GitHub: https://github.com/settings/keys
- Haz clic en "New SSH key"
- Pega la clave en el campo "Key"
- Añade un título descriptivo (ej: "Mi Laptop Personal")
- Haz clic en "Add SSH key"
Después de añadir la clave a GitHub:
# Probar conexión SSH
ssh -T git@github.comDeberías ver un mensaje como:
Hi tu-usuario! You've successfully authenticated, but GitHub does not provide shell access.
# Verificar que la clave está cargada
ssh-add -l
# Si no está cargada, añadirla manualmente
ssh-add ~/.ssh/id_github# Iniciar ssh-agent
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_githubSi ya tienes una clave SSH, el script no la sobrescribirá. Puedes:
- Usar la clave existente
- Eliminar las claves actuales y ejecutar el script de nuevo
- Modificar el script para usar un nombre diferente
# Verificar permisos correctos
ls -la ~/.ssh/
# Debe mostrar:
# -rw------- id_github
# -rw-r--r-- id_github.pub
# -rw-r--r-- config- ✅ Usa ED25519 (más seguro que RSA)
- ✅ Establece permisos restrictivos automáticamente
- ✅ No sobrescribe claves existentes
- ✅ Genera claves únicas por dispositivo
- ✅ No transmite claves por red
¿Encontraste un problema o tienes una mejora?
- Fork el repositorio
- Crea una rama para tu feature (
git checkout -b feature/mejora) - Commit tus cambios (
git commit -am 'Añadir mejora') - Push a la rama (
git push origin feature/mejora) - Crea un Pull Request
Este proyecto está bajo la licencia MIT. Ver archivo LICENSE para más detalles.
Si este script te ahorró tiempo, ¡dale una estrella ⭐ al repositorio!