Configuración de Múltiples Llaves GPG y SSH para Diferentes Usuarios y Proyectos en macOS/Linux
Cuando trabajas en entornos donde interactúas con múltiples repositorios, como proyectos personales y de tu empresa, necesitas configurar…
Configuración de Múltiples Llaves GPG y SSH para Diferentes Usuarios y Proyectos en macOS/Linux
Cuando trabajas en entornos donde interactúas con múltiples repositorios, como proyectos personales y de tu empresa, necesitas configurar diferentes llaves GPG y SSH para cada uno. En esta guía, te mostraré cómo lograrlo paso a paso en macOS, asegurando que cada usuario y repositorio esté correctamente vinculado con sus credenciales únicas.
Generación de Llaves GPG
Paso 1: Crear una nueva llave GPG
Ejecuta el comando:
gpg --full-gen-key
Durante el proceso, responde las siguientes preguntas considerando las recomendaciones:
- Tipo de llave: Elige
RSA and RSA(opción 1). Esta opción es la más segura y ampliamente soportada para firmar y cifrar. - Tamaño de la llave: Ingresa
4096para mayor seguridad. - Fecha de expiración: Recomiendo
1y(1 año). Esto obliga a renovar las llaves regularmente. - Nombre y correo: Introduce tu nombre y correo asociados al repositorio o proyecto.
- Comentario: Escribe un identificador significativo, por ejemplo,
Trabajo GitHuboPersonal. - Passphrase: Usa una contraseña de al menos 20 caracteres y guárdala en un gestor de contraseñas.
Resultado esperado
Deberías obtener algo como esto:
pub rsa4096 2025-01-13 [SC] [expires: 2026-01-13]
AC12D9F1628B2ED0
uid Nombre Usuario (Comentario) <email@ejemplo.com>
sub rsa4096 2025-01-13 [E] [expires: 2026-01-13]
Guarda el ID de la llave, por ejemplo: AC12D9F1628B2ED0.
Exportar y Registrar Llave GPG
Exportar la llave pública
Ejecuta:
gpg --armor --export AC12D9F1628B2ED0
Copia el bloque completo, incluyendo las líneas BEGIN y END. Ejemplo:
-----BEGIN PGP PUBLIC KEY BLOCK-----
...
-----END PGP PUBLIC KEY BLOCK-----
Agregar la llave GPG a plataformas como GitLab
- Inicia sesión en GitLab.
- Ve a Editar perfil > Llaves GPG > Agregar nueva clave.
- Pega el bloque copiado.
- Guarda la llave.
Configuración de ~/.gitconfig
Edita tu archivo global de configuración de Git:
vim ~/.gitconfig
Agrega las siguientes líneas:
[commit]
gpgsign = true
[user]
useConfigOnly = true
[includeIf "gitdir:/Users/tu_usuario/ruta/proyecto/"]
path = ~/.gitconfig.nombre-proyecto
Notas:
- Sustituye
/Users/tu_usuario/ruta/proyecto/por la ruta al repositorio, incluyendo/al final. Esto asegura que la configuración se aplique sólo a ese directorio. - Cambia
nombre-proyectopor un nombre descriptivo, comolambda.
Crea el archivo específico para el proyecto:
vim ~/.gitconfig.nombre-proyecto
Incluye lo siguiente:
[user]
name = Nombre Usuario
email = email@ejemplo.com
signingKey = AC12D9F1628B2ED0
[url "git@github-proyecto.com"]
insteadOf = git@github.com
Sustituye:
**Nombre Usuarioy `email@ejemplo.com`** con los datos del usuario.**AC12D9F1628B2ED0** con el ID de la llave GPG.**git@github-proyecto.com** con un alias representativo del proyecto.
Generación de Llaves SSH
Crear una nueva llave SSH
Ejecuta:
ssh-keygen -t rsa -b 4096 -C "Comentario"
Sigue las instrucciones:
- Ruta para guardar: Por ejemplo,
/Users/tu_usuario/.ssh/proyecto_id_rsa. - Passphrase: Usa una contraseña robusta y guárdala en un gestor de contraseñas.
Exportar la llave SSH
Para registrar la llave en plataformas como GitLab:
- Ejecuta:
cat ~/.ssh/proyecto_id_rsa.pub
- Copia el contenido completo.
- Ve a Editar perfil > Llaves SSH > Agregar nueva clave en GitLab.
- Pega la llave pública y guarda.
Configuración de ~/.ssh/config
Edita el archivo de configuración SSH:
vim ~/.ssh/config
Agrega:
### -- PROYECTO --
Host gitlab-proyecto.com
Hostname gitlab.com
User git
IdentityFile ~/.ssh/proyecto_id_rsa
### -- GENERAL --
Host *
AddKeysToAgent yes
IdentitiesOnly yes
PreferredAuthentications publickey
Compression yes
Sustituye:
**gitlab-proyecto.com** con el alias definido.**~/.ssh/proyecto_id_rsa** con la ruta a tu llave SSH.
Inicializar el Repositorio
Si es un nuevo proyecto:
- Inicializa Git:
git init
- Configura el repositorio remoto:
git remote add origin git@github.com:proyecto.git
- Realiza tu primer commit:
git add -A
git commit -S -m "Initial commit"
- Sube los cambios:
git push origin main
Conclusión
Esta guía te permite gestionar múltiples llaves GPG y SSH para diferentes usuarios y proyectos en macOS. Con una configuración personalizada y segura, puedes trabajar eficientemente en múltiples entornos sin mezclar credenciales. 🚀
메타데이터
- post_id
- 32cb87a0d14e
- slug
- configuración-de-múltiples-llaves-gpg-y-ssh-para-diferentes-usuarios-y-proyectos-en-macos-linux-32cb87a0d14e
- url
- https://medium.com/@serpadeg/configuraci%C3%B3n-de-m%C3%BAltiples-llaves-gpg-y-ssh-para-diferentes-usuarios-y-proyectos-en-macos-linux-32cb87a0d14e
- canonical_url
- https://medium.com/@serpadeg/configuraci%C3%B3n-de-m%C3%BAltiples-llaves-gpg-y-ssh-para-diferentes-usuarios-y-proyectos-en-macos-linux-32cb87a0d14e
- author_url
- https://medium.com/@serpadeg
- status
- ok
- fetched_at
- 2026-07-15 08:48:20