Configuración de múltiples cuentas de Git con usuarios y correos distintos por repositorio

Introducción

Para gestionar varias cuentas de Git en un mismo sistema, como una cuenta personal y otra corporativa, es necesario configurar claves SSH separadas y establecer identidades distintas para cada repositorio. Esta guía explica cómo lograrlo de manera efectiva.

Generación de claves SSH para diferentes proveedores

Inicie una terminal como Git Bash y genere pares de claves RSA o ED25519 para cada servicio. Ejemplo para una cuenta de Gitee:

ssh-keygen -t rsa -C 'correo_personal@ejemplo.com' -f ~/.ssh/id_rsa_cuenta_personal

Para una cuenta de GitLab corporativa, use un nombre de archivo distinto:

ssh-keygen -t ed25519 -C 'correo_corporativo@empresa.com' -f ~/.ssh/id_rsa_cuenta_corporativa

Las claves se guardarán en la carpeta ~/.ssh (por ejemplo, en Windows: C:\Users\usuario\.ssh). Añada las claves públicas correspondientes a las cuentas en los respectivos proveedores.

Cnofiguración del archivo SSH config

Cree un archivo de configuración en la carpeta ~/.ssh para definir reglas por host. Use un editor de texto para crear el archivo config sin extensión:

Host servidor_personal.com
    HostName servidor_personal.com
    IdentityFile ~/.ssh/id_rsa_cuenta_personal
    PreferredAuthentications publickey
    User usuario_personal

Host servidor_corporativo.com
    HostName servidor_corporativo.com
    IdentityFile ~/.ssh/id_rsa_cuenta_corporativa
    PreferredAuthentications publickey
    User usuario_corporativo

Ajuste los valores según sus necesidades. Esto asegura que cada conexión use la clave correcta.

Verificación de la conexión SSH

Pruebe la autenticación con cada servidor usando comandos como:

ssh -T git@servidor_personal.com
ssh -T git@servidor_corporativo.com

Si aparece un mensaje de confirmación, escriba 'yes' y presione Enter. Un mensaje de bienvenida indica éxito.

Configuración de identidad por repositorio

Tras establecer la configuración SSH, defina el nombre de usuario y correo local para cada repositorio. Esto anula la configuración global de Git. Navegue a la carpeta del repositorio y ejecute:

git config user.name 'NombreParaEsteRepo'
git config user.email 'correo_para_este_repo@ejemplo.com'

Esto se aplicará solo al repositorio actual, permitiendo usar diferentes identidades en proyectos distintos.

Etiquetas: Git ssh-keys Git-Config Multi-Account User-Identity

Publicado el 7-17 21:24