Si utilizas más de una cuenta en GitHub, necesitarás configurar múltiples claves SSH para alternar entre ellas sin problemas. En esta guía, aprenderás a generar una nueva clave SSH, agregarla al agente SSH, configurarla en GitHub y usarla en tus repositorios sin conflictos.
Continúa leyendo o, si prefieres, haz
CLICK AQUÍ
para ver un tutorial paso a paso en YouTube
Contenido:
- 1. Generar y añadir una segunda clave SSH al agente
- 2. Agregar la clave pública a GitHub
- 3. Configurar el archivo ~/.ssh/config
- 4. Clonar repositorios usando la cuenta correcta
- 5. Configurar el usuario de Git por repositorio
- 6. Verificar qué clave SSH se está usando
- 7. Finalizar verificando la configuración en VSCode
1. Generar y añadir una segunda clave SSH al agente
- Ejecuta el siguiente comando, realizando los siguientes cambios:
- Reemplaza ‘tu-segundo-email@example.com‘ por el email asociado a tu segunda cuenta de GitHub.
- El sufijo ‘_github02‘ en el nombre de la clave SSH es un identificador opcional. Puedes cambiarlo por cualquier otro nombre que te ayude a diferenciar tus claves, como ‘_trabajo‘ o ‘_personal‘.
- Opcionalmente, establece una contraseña para mayor seguridad.
- ~/.ssh/id_ed25519_github02 (clave privada).
- ~/.ssh/id_ed25519_github02.pub (clave pública).
- Ejecuta los siguientes comandos para asegurarte de que el agente SSH esté corriendo y agregar la nueva clave:
ssh-keygen -t ed25519 -C "tu-segundo-email@example.com" -f ~/.ssh/id_ed25519_github02
Este comando generará los siguientes archivos:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519_github02

2. Agregar la clave pública a GitHub
- Muestra la clave pública con el siguiente comando:
- Copia el texto completo que se muestra.
- Ve al sitio web oficial de Github y accede a tu cuenta.
- Haz clic en tu foto de perfil.
- Haz clic en Settings.
- Haz clic en SSH and GPG keys.
- Haz clic en New SSH key.
- Pega la clave pública en el campo y da un nombre (por ejemplo, Mi PC).
- Haz clic en Add SSH key.
cat ~/.ssh/id_ed25519_github02.pub






3. Configurar el archivo ~/.ssh/config
- Abre el archivo de configuración con Vim o Nano:
- Con Vim:
- Presiona ‘i‘ para entrar en modo de edición.
- Añade estas líneas para definir qué clave se usará según la cuenta:
- Presiona ‘Esc‘ para salir del modo de edición.
- Guarda y cierra el archivo con ‘:wq‘ y presiona ‘Enter‘.
vim ~/.ssh/config
nano ~/.ssh/config

# Primera cuenta de GitHub
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519
# Segunda cuenta de GitHub
Host github02
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_github02

También puedes abrir el archivo con VSCode:
code ~/.ssh/config
4. Clonar repositorios usando la cuenta correcta
- Ve a tu cuenta de GitHub y abre el repositorio que deseas clonar.
- Selecciona ‘Code‘, elige la opción ‘SSH‘ y copia la URL que aparece.
- Abre una terminal y navega a la carpeta donde deseas clonar el repositorio.
- Si el repositorio pertenece a tu primera cuenta, clónalo con el siguiente comando:
- Si el repositorio pertenece a tu segunda cuenta, reemplaza ‘github.com‘ en la URL que copiaste por el alias ‘github02‘ y clónalo con:


git clone git@github.com:usuario/repositorio.git
git clone git@github02:usuario/repositorio.git



5. Configurar el usuario de Git por repositorio
- Para asegurarte de que Git usa el email correcto en cada repositorio, ejecuta:
- Si Git sigue sin usar el email correcto, configura reglas específicas en ‘~/.gitconfig‘ añadiendo esta configuración:
- Luego, crea ‘~/.gitconfig-github02‘ con el siguiente contenido:
cd /ruta/del/repositorio
git config user.email "tu-segundo-email@example.com"
git config user.name "Tu Nombre"

[includeIf "gitdir:~/ruta/al/repositorio/"]
path = ~/.gitconfig-github02
[user]
email = "tu-segundo-email@example.com"
name = "Tu Nombre"
6. Verificar qué clave SSH se está usando
- Si tienes dudas sobre qué clave se está utilizando, prueba con los siguientes comandos:
- Si se conecta a la cuenta equivocada, revisa qué claves están activas con:
- Si necesitas forzar el uso de la nueva clave, limpia el agente SSH y agrégala de nuevo:
ssh -T git@github.com
ssh -T git@github02

ssh-add -l
ssh-add -D
ssh-add ~/.ssh/id_ed25519_github02
7. Finalizar verificando la configuración en VSCode
- Abre el proyecto en VSCode y realiza un cambio en algún archivo.
- Verifica que Git está usando el usuario correcto dentro del repositorio con:
- Si el usuario no es el correcto, configúralo antes de subir los cambios:
- Si el usuario es correcto, añade los cambios, realiza un commit y súbelos a GitHub:
Finalizamos abriendo un proyecto de cada cuenta con VSCode, realizando un cambio y subiéndolo para verificar que se usa la cuenta y el usuario correctos.
code /ruta/del/proyecto
git config user.email
git config user.name
git config user.email "tu-segundo-email@example.com"
git config user.name "Tu Nombre"
git add .
git commit -m "Verificando cuenta y usuario"
git push
Cuenta 1

Cuenta 2
