En el mundo de la programación y el desarrollo de software, es común que los desarrolladores manejen múltiples cuentas de GitHub. Por ejemplo, puedes tener una cuenta personal donde almacenas proyectos privados o colaboras en proyectos de código abierto, y otra cuenta proporcionada por tu universidad para trabajar en proyectos académicos y colaborativos con compañeros y profesores. Manejar estas dos cuentas desde una misma sesión de Linux puede ser un desafío, especialmente cuando se trata de sincronizar los repositorios correctamente con la cuenta correspondiente.
Este artículo te guiará paso a paso para configurar tu entorno de desarrollo en Linux de manera que puedas utilizar ambas cuentas de GitHub de forma eficiente y segura, utilizando autenticación SSH para facilitar la gestión de repositorios personales y académicos.
Paso 1: Generar Claves SSH para Cada Cuenta
Primero, necesitas generar dos pares de claves SSH, una para cada cuenta de GitHub.
a. Generar clave para la cuenta personal:
ssh-keygen -t ed25519 -C "tu_correo_personal@example.com"
Guarda la clave con un nombre distintivo, por ejemplo:
~/.ssh/id_ed25519_personal
b. Generar clave para la cuenta de la universidad:
ssh-keygen -t ed25519 -C "tu_correo_universidad@example.com"
Guarda esta clave con otro nombre distintivo, por ejemplo:
~/.ssh/id_ed25519_universidad
Paso 2: Configurar las Claves en GitHub
Ahora, debes agregar las claves públicas generadas a sus respectivas cuentas de GitHub.
Obtener la clave pública:
cat ~/.ssh/id_ed25519_personal.pub
cat ~/.ssh/id_ed25519_universidad.pub
Agregar las claves a GitHub:
- Ve a GitHub > Settings > SSH and GPG keys.
- Agrega la clave pública de la cuenta personal en tu cuenta personal de GitHub.
- Agrega la clave pública de la cuenta de la universidad en la cuenta de GitHub de la universidad.
Paso 3: Configurar el Archivo SSH Config
Para que tu sistema sepa qué clave usar para cada cuenta, debes configurar el archivo.
~/.ssh/config
Abre o crea el archivo ~/.ssh/config
:
nano ~/.ssh/config
Agrega las siguientes configuraciones:
# Cuenta personal
Host github.com-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_personal
# Cuenta de la universidad
Host github.com-universidad
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_universidad
Paso 4: Clonar Repositorios con las Configuraciones Específicas
Cuando clones repositorios, asegúrate de usar los alias definidos en el archivo ~/.ssh/config.
Clonar un repositorio personal:
git clone git@github.com-personal:usuario/repo-personal.git
Clonar un repositorio de la universidad:
git clone git@github.com-universidad:usuario/repo-universidad.git
Paso 5: Configurar Git para Cada Repositorio
Para asegurarte de que Git usa la configuración correcta para cada repositorio, configura el nombre de usuario y el correo electrónico en cada uno.
Configurar un repositorio personal:
cd repo-personal
git config user.name "Tu Nombre Personal"
git config user.email "tu_correo_personal@example.com"
Configurar un repositorio de la universidad:
cd repo-universidad
git config user.name "Tu Nombre Universidad"
git config user.email "tu_correo_universidad@example.com"
Conclusión
Al seguir estos pasos, podrás gestionar sin problemas dos cuentas de GitHub desde una misma sesión de Linux, usando autenticación SSH. Esta configuración asegura que cuando trabajes en repositorios personales, se sincronizarán con tu cuenta personal, y cuando trabajes en repositorios de la universidad, se sincronizarán con la cuenta correspondiente.
Este método te permitirá mantener una separación clara entre tus trabajos personales y académicos, facilitando la gestión y la seguridad de tus repositorios en GitHub.