Cómo configurar múltiples claves SSH para GitHub. GNU/Linux – Debian 12

Índice – Instalación de WordPress en Debian

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 YouTube

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-keygen -t ed25519 -C "tu-segundo-email@example.com" -f ~/.ssh/id_ed25519_github02

    Este comando generará los siguientes archivos:

    • ~/.ssh/id_ed25519_github02 (clave privada).
    • ~/.ssh/id_ed25519_github02.pub (clave pública).
    undefined
  • Ejecuta los siguientes comandos para asegurarte de que el agente SSH esté corriendo y agregar la nueva clave:
  • eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519_github02
    undefined

2. Agregar la clave pública a GitHub

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

3. Configurar el archivo ~/.ssh/config

  • Abre el archivo de configuración con Vim o Nano:
  • vim ~/.ssh/config
    nano ~/.ssh/config
    undefined
  • 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:
    • # 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
    • Presiona ‘Esc‘ para salir del modo de edición.
    • Guarda y cierra el archivo con ‘:wq‘ y presiona ‘Enter‘.
    undefined

    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.
  • undefined
  • Abre una terminal y navega a la carpeta donde deseas clonar el repositorio.
  • undefined
  • Si el repositorio pertenece a tu primera cuenta, clónalo con el siguiente comando:
  • git clone git@github.com:usuario/repositorio.git
  • 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@github02:usuario/repositorio.git
    undefined
    undefined
    undefined

5. Configurar el usuario de Git por repositorio

  • Para asegurarte de que Git usa el email correcto en cada repositorio, ejecuta:
  • cd /ruta/del/repositorio
    git config user.email "tu-segundo-email@example.com"
    git config user.name "Tu Nombre"
    undefined
  • Si Git sigue sin usar el email correcto, configura reglas específicas en ‘~/.gitconfig‘ añadiendo esta configuración:
  • [includeIf "gitdir:~/ruta/al/repositorio/"]
        path = ~/.gitconfig-github02
  • Luego, crea ‘~/.gitconfig-github02‘ con el siguiente contenido:
  • [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:
  • ssh -T git@github.com
    ssh -T git@github02
    undefined
  • Si se conecta a la cuenta equivocada, revisa qué claves están activas con:
  • ssh-add -l
  • Si necesitas forzar el uso de la nueva clave, limpia el agente SSH y agrégala de nuevo:
  • ssh-add -D
    ssh-add ~/.ssh/id_ed25519_github02

7. Finalizar verificando la configuración en VSCode

    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.

  • Abre el proyecto en VSCode y realiza un cambio en algún archivo.
  • code /ruta/del/proyecto
  • Verifica que Git está usando el usuario correcto dentro del repositorio con:
  • git config user.email
    git config user.name
  • Si el usuario no es el correcto, configúralo antes de subir los cambios:
  • git config user.email "tu-segundo-email@example.com"
    git config user.name "Tu Nombre"
  • Si el usuario es correcto, añade los cambios, realiza un commit y súbelos a GitHub:
  • git add .
    git commit -m "Verificando cuenta y usuario"
    git push

    Cuenta 1

    Cuenta 2

Deja un comentario