Cómo generar una llave SSH y configurarla en GitLab (autohospedado)

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.

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

  1. Accede a tu instancia: http://gitlab.local:8080
  2. En la parte superior derecha, haz clic en tu avatar > Preferences
  3. En el menú lateral, selecciona SSH Keys
  4. Pega la clave y asigna un nombre y fecha de expiración si lo deseas
  5. 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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio