Skip to content

Script automatizado para configurar claves SSH con GitHub de forma rápida y segura

Notifications You must be signed in to change notification settings

aormazabal/github-ssh-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

GitHub SSH Setup

Script automatizado para configurar claves SSH con GitHub de forma rápida y segura.

🔑 Descripción

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.

✨ Características

  • 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

🚀 Instalación y Uso

Opción 1: Descarga directa

# 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

Opción 2: Clonar repositorio

# 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

Opción 3: Sin parámetros (interactivo)

./setup-github-ssh.sh
# Te pedirá que ingreses tu email de GitHub

📋 ¿Qué hace el script?

  1. Crea el directorio SSH (~/.ssh) si no existe
  2. Genera una clave SSH ED25519 con tu email como comentario
  3. Configura SSH agent y añade la clave
  4. Muestra tu clave pública para copiar
  5. Configura el archivo SSH config para GitHub
  6. Establece permisos seguros en todos los archivos
  7. Proporciona instrucciones para completar la configuración

🔧 Archivos generados

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)

Contenido del archivo config:

Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_github

📖 Pasos posteriores al script

  1. Copia tu clave pública (el script la mostrará en pantalla)
  2. Ve a GitHub: https://github.com/settings/keys
  3. Haz clic en "New SSH key"
  4. Pega la clave en el campo "Key"
  5. Añade un título descriptivo (ej: "Mi Laptop Personal")
  6. Haz clic en "Add SSH key"

✅ Verificar la configuración

Después de añadir la clave a GitHub:

# Probar conexión SSH
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.

🔍 Troubleshooting

❓ Error: "Permission denied (publickey)"

# Verificar que la clave está cargada
ssh-add -l

# Si no está cargada, añadirla manualmente
ssh-add ~/.ssh/id_github

❓ Error: "Could not open a connection to your authentication agent"

# Iniciar ssh-agent
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_github

❓ La clave ya existe

Si ya tienes una clave SSH, el script no la sobrescribirá. Puedes:

  1. Usar la clave existente
  2. Eliminar las claves actuales y ejecutar el script de nuevo
  3. Modificar el script para usar un nombre diferente

❓ Problemas de permisos

# Verificar permisos correctos
ls -la ~/.ssh/
# Debe mostrar:
# -rw------- id_github
# -rw-r--r-- id_github.pub
# -rw-r--r-- config

🔒 Seguridad

  • ✅ 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

🤝 Contribución

¿Encontraste un problema o tienes una mejora?

  1. Fork el repositorio
  2. Crea una rama para tu feature (git checkout -b feature/mejora)
  3. Commit tus cambios (git commit -am 'Añadir mejora')
  4. Push a la rama (git push origin feature/mejora)
  5. Crea un Pull Request

📄 Licencia

Este proyecto está bajo la licencia MIT. Ver archivo LICENSE para más detalles.

🌟 ¿Te resultó útil?

Si este script te ahorró tiempo, ¡dale una estrella ⭐ al repositorio!


📚 Recursos adicionales

About

Script automatizado para configurar claves SSH con GitHub de forma rápida y segura

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages