Configuración de múltiples perfiles de Git en un solo equipo

Introducción

Al trabajar con varios repositorios en plataformas como GitHub, GitLab o Bitbucket, es común necesitar configurar múltiples identidades en una misma máquina. Esto implica gestionar claves SSH y ajustes de usuario específicos para cada servicio.

Proceso de configuración

Primero, asegúrate de tener Git instalado. En sistemas Windows, puedes descargarlo desde el sitio oficial de Git y usar Git Bash para ejecutar comandos.

Generación de claves SSH

Crea pares de claves públicas y privadas para cada cuenta. Utiliza el directorio ~/.ssh (o C:\Users\TuUsuario\.ssh en Windows) para almacenarlas.

# Clave para GitHub
ssh-keygen -t ed25519 -C "tu_correo@ejemplo.com" -f clave_github

# Clave para GitLab
ssh-keygen -t ed25519 -C "otro_correo@ejemplo.com" -f clave_gitlab

# Clave para Bitbucket
ssh-keygen -t ed25519 -C "correo_tercero@ejemplo.com" -f clave_bitbucket

Registro de claves públicas en repositorios

Accede a la configuración de SSH en cada plataforma (por ejemplo, en GitHub ve a Settings > SSH and GPG keys) y añade el contenido de los archivos .pub generados.

Creación del archivo de configuración SSH

En el mismo directorio ~/.ssh, crea un archivo llamado config con el siguiente contenido para definir alias y parámetros de conexión:

# Configuración para GitHub
Host mi_github
  HostName github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/clave_github
  User usuario_github

# Configuración para GitLab
Host mi_gitlab
  HostName gitlab.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/clave_gitlab
  User usuario_gitlab

# Configuración para Bitbucket
Host mi_bitbucket
  HostName bitbucket.org
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/clave_bitbucket
  User usuario_bitbucket

Cada sección define un alias (Host) para facilitar el acceso, junto con la ruta de la clave privada y el nombre de usuario.

Verificación de conexiones

Prueba la autenticación con los alias definidos:

ssh -T mi_github
ssh -T mi_gitlab
ssh -T mi_bitbucket

Si la configuración es correcta, recibirás un mensaje de éxito como ¡Hola, usuario! Has sido autenticado....

Clonación de repositorios usando alias

Al clonar proyectos, utiliza los alias en lugar de los nombres de host completos:

git clone git@mi_github:tu_usuario/proyecto.git
git clone git@mi_gitlab:tu_usuario/otro_proyecto.git

Ajuste de credenciales locales

Para evitar conflictos, deshabilita la configuración global de usuario y establece valores específicos por repositorio:

# Eliminar configuración global
git config --global --unset user.name
git config --global --unset user.email

# En el directorio de cada proyecto
cd proyecto
git config user.name "nombre_para_github"
git config user.email "tu_correo@ejemplo.com"

cd ../otro_proyecto
git config user.name "nombre_para_gitlab"
git config user.email "otro_correo@ejemplo.com"

Esto asegura que cada repositorio use las credenciales adecuadas al hacer commits y operaciones remotas.

Etiquetas: Git SSH configuracion Claves SSH Múltiples cuentas

Publicado el 7-18 18:20