Si tienes una cuenta personal y otra del trabajo (o universidad), te habrás encontrado con que GitHub no permite usar la misma llave SSH en ambas. La solución definitiva es crear un sistema de identidades mediante el archivo de configuración de SSH.
Por defecto, Git intenta usar una única llave para todo. Nosotros vamos a crear un «llavero» inteligente. Cuando intentes conectar con GitHub, tu ordenador consultará un archivo llamado config para decidir qué llave mostrar según el «alias» que utilices.
Primero, asegúrate de tener una llave para cada cuenta. Abre tu terminal (PowerShell o Git Bash) y genera las llaves con nombres descriptivos.
ssh-keygen -t ed25519 -C "[email protected]" -f "$env:USERPROFILE\.ssh\id_ed25519_personal"
ssh-keygen -t ed25519 -C "[email protected]" -f "$env:USERPROFILE\.ssh\id_ed25519_trabajo"
(Presiona Enter en todas las solicitudes para dejar la contraseña en blanco si prefieres comodidad, o añádela para mayor seguridad).
configEste es el paso clave. Vamos a crear un archivo que asigne cada llave a un host diferente.
Abre el archivo con el Bloc de notas: notepad "$env:USERPROFILE\.ssh\config"
Pega el siguiente bloque y guarda los cambios:
# --- CUENTA PERSONAL ---
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_personal
# --- CUENTA TRABAJO ---
Host github.com-trabajo
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_trabajo
Debes copiar el contenido de tus llaves públicas (los archivos que terminan en .pub) y pegarlos en sus respectivas cuentas de GitHub.
Muestra el contenido de la llave: cat "$env:USERPROFILE\.ssh\id_ed25519_trabajo.pub"
Copia el texto.
En GitHub, ve a Settings > SSH and GPG keys > New SSH Key.
A partir de ahora, la forma en que interactúas con los repositorios cambia ligeramente según la cuenta que quieras usar.
Para tu cuenta personal: Usa el comando normal. git clone [email protected]:usuario/proyecto.git
Para tu cuenta de trabajo: Modifica el host añadiendo el sufijo -trabajo. git clone [email protected]:organizacion/proyecto.git
Si ya descargaste un proyecto y quieres que empiece a usar la identidad de trabajo:
git remote set-url origin [email protected]-trabajo:organizacion/proyecto.git
Para evitar que tus commits de trabajo aparezcan con tu email personal, configura el correo localmente dentro de la carpeta de ese proyecto:
git config user.email "[email protected]"
git config user.name "Tu Nombre"
Para comprobar que todo está bien configurado, lanza estos comandos:
ssh -T [email protected] (Debería saludarte con tu usuario personal).
ssh -T [email protected] (Debería saludarte con tu usuario de trabajo).
Privacidad: Separa totalmente tus commits y actividad.
Seguridad: Si una llave se ve comprometida, solo afecta a una cuenta.
Comodidad: No necesitas cerrar sesión ni cambiar credenciales manualmente.
© Copyright 2016 nicdark.com - Design School Theme
Wonderful NicDark WP Theme
Deja una respuesta