En esta guía aprenderás paso a paso cómo generar una clave SSH en tu equipo, configurarla correctamente en GitLab (autohospedado) y utilizarla para autenticarte con seguridad al clonar o hacer push a tus repositorios.
Esta guía ha sido probada en macOS con GitLab autohospedado accesible desde
gitlab.local
. Aplica también para distribuciones Linux y Windows con Git Bash.
Tabla de Contenidos
Introducción
Cuando trabajas con repositorios Git en GitLab, puedes usar HTTPS o SSH. El uso de claves SSH es más seguro y permite trabajar sin tener que ingresar contraseñas cada vez.
Ventajas de SSH:
- Autenticación segura por clave pública
- No necesitas contraseña cada vez que haces
push
- Mejor para entornos de desarrollo profesional y automatizaciones
Paso 1: Verificar si ya tienes una clave SSH
Abre tu terminal y ejecuta:
ls -al ~/.ssh
Busca archivos como id_rsa
(clave privada) y id_rsa.pub
(clave pública). Si ya existen y quieres usarlos, puedes ir directamente al Paso 3.
Paso 2: Generar una nueva clave SSH
Si no tienes una clave o deseas crear una nueva, ejecuta:
ssh-keygen -t rsa -b 4096 -C "tu-correo@ejemplo.com"
Presiona Enter para aceptar la ruta por defecto (~/.ssh/id_rsa
) o define una nueva. Puedes asignarle una passphrase o dejarla vacía.
Paso 3: Copiar la clave pública
Ejecuta:
cat ~/.ssh/id_rsa.pub
Copia todo el contenido que empieza por ssh-rsa
. Si usas macOS:
pbcopy < ~/.ssh/id_rsa.pub
Paso 4: Añadir la clave en GitLab
- Accede a tu instancia:
http://gitlab.local:8080
- En la parte superior derecha, haz clic en tu avatar > Preferences
- En el menú lateral, selecciona SSH Keys
- Pega la clave y asigna un nombre y fecha de expiración si lo deseas
- Guarda los cambios
Paso 5: Probar la conexión
Ejecuta en terminal:
ssh -T git@gitlab.local
Si todo está bien, deberías ver un mensaje similar a:
Welcome to GitLab, @root!
Paso 6: Configurar el repositorio para usar SSH
Supongamos que clonaste el proyecto por HTTP. Puedes cambiar la URL remota a SSH:
git remote set-url origin git@gitlab.local:Grupo/NombreProyecto.git
Ejemplo:
git remote set-url origin git@gitlab.local:LegacyProjects/classic-music-video-generator.git
Luego haz push como siempre:
git push -u origin main
📌 Recursos adicionales
✉️ Si te ha sido útil este artículo, considera compartirlo o seguir el blog para más tutoriales de Git, DevOps y desarrollo profesional.