Emiliano28 de diciembre de 2024

Gestionar múltiples cuentas de GitHub usando SSH

En este post exploraremos cómo configurar múltiples cuentas de GitHub en una misma máquina local utilizando SSH, lo cual es útil cuando trabajamos con proyectos personales y de trabajo.

La idea es utilizar diferentes claves SSH para cada cuenta, sin necesidad de tener que ingresar credenciales constantemente.

Generar claves SSH para cada cuenta de GitHub

Cuando trabajamos con múltiples cuentas, cada cuenta debe tener su propia clave SSH. Vamos a generar una clave SSH nueva para la segunda cuenta de GitHub usando el siguiente comando:

ssh-keygen -t ed25519 -C "Clave para mi segunda cuenta"

Debemos elegir un nombre distintivo para el archivo, como id_ed25519_segunda_cuenta, para evitar sobrescribir la clave SSH existente.

Agregar la clave SSH a GitHub

Ahora, debemos agregar la clave pública generada a nuestra cuenta de GitHub. Primero, copiamos el contenido de la clave pública:

cat ~/.ssh/id_ed25519_segunda_cuenta.pub

Luego, ve a GitHub y en la sección Settings > SSH and GPG keys selecciona New SSH Key y pega el contenido.

Configurar el archivo ~/.ssh/config

El archivo ~/.ssh/config permite gestionar diferentes claves para diferentes hosts. Editamos el archivo:

nano ~/.ssh/config

Agregamos las siguientes configuraciones:

# Cuenta personal (la cuenta por defecto)
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519

# Cuenta secundaria (trabajo u otros proyectos)
Host github-pruebas
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_segunda_cuenta

Configurar las URL remotas de los repositorios

Para los repositorios de nuestra segunda cuenta, debemos actualizar la URL remota para usar el alias configurado:

git remote set-url origin git@github-pruebas:usuario/repositorio.git

Verificar la configuración SSH

Verifica que GitHub te reconozca correctamente:

Para nuestra cuenta personal:

ssh -T git@github.com

Para nuestra segunda cuenta:

ssh -T git@github-pruebas

Si todo está bien, verás un mensaje de bienvenida confirmando la autenticación exitosa.

Realizar un Push o Pull con la cuenta correcta

Una vez configurado, puedes realizar un push o pull normalmente. Git usará automáticamente la clave correcta asociada con el alias del repositorio.