Voici comment utiliser deux comptes GitLab avec deux clés SSH sur un même ordinateur. C’est très pratique pour distinguer ses projets professionnels et personnels, par exemple.
Il faut savoir que GitLab ne permet pas d’associer une même clé SSH à plusieurs comptes GitLab. C’est pourquoi nous allons voir comment configurer 2 clés SSH sur l’ordinateur.
Cette méthode détaille spécifiquement point par point comment y arriver sur un environnement Windows 10, avec l’aide de Git Bash. Elle reste valable pour les utilisateurs Mac OS ou Linux.
Partons du principe que nous avons créé les 2 comptes GitLab suivants :
- Compte Perso, nom d’utilisateur (« Full name » dans GitLab) : perso, email : perso@mail.com
- Compte Pro, nom d’utilisateur (« Full name » dans GitLab) : pro, email : pro@mail.com
Générer les clés SSH sur votre ordinateur
Générer la clé SSH du compte Perso
Ouvrir Git Bash et saisir la commande suivante (remplacer l’adresse e-mail par celle de votre premier compte GitLab)
Le message suivant s’affiche alors :
Ajouter à la suite de ce message le nom du nouveau fichier à générer pour le compte Perso (id_rsa_perso), ce qui ressemble à ceci :
Appuyer ensuite deux fois sur Entrée lorsqu’un mot de passe vous est demandé.
Générer la clé SSH du compte Pro
On renouvelle la même procédure que précédemment,
Dans Git Bash saisir la commande suivante (remplacer l’adresse e-mail par celle de votre second compte GitLab)
Le message suivant s’affiche alors :
Ajouter à la suite de ce message le nom du nouveau fichier à générer pour le compte Pro (id_rsa_pro), ce qui ressemble à ceci :
Appuyer ensuite deux fois sur Entrée lorsqu’un mot de passe vous est demandé.
Vérifier la bonne création des clés SSH sur votre ordinateur
Dans Windows, aller dans le disque principal (C:) > Utilisateurs > Moi (votre nom d’utilisateur) > .ssh
Dans ce dossier .ssh
doivent à présent s’afficher 2 fichiers « id_rsa_perso » et 2 fichiers »id_rsa_pro »
Ou bien, utiliser le code suivant dans Git Bash
On obtient alors la liste des clés privées et publiques (.pub)
Création et configuration du fichier config
Créer un fichier nommé config
(avec Notepad ou Sublime Text par exemple), dans le dossier .ssh
Ajouter le code suivant, adaptez-le à votre cas et enregistrer :
Quand on souhaiteras utiliser le compte perso,
on utilisera l’Host gitlab.com-perso, lié au fichier SSH id_rsa_perso
Quand on souhaiteras utiliser le compte pro,
on utilisera l’Host gitlab.com-pro, lié au fichier SSH id_rsa_pro
Ajouter les clées SSH à vos comptes GitLab et tester
Ajout des clées publiques aux comptes GitLab
La commande suivante à faire dans Git Bash va afficher la clé SSH publique pour le compte Perso.
Copier la clé et la coller dans le compte GitLab (votre premier compte) : Settings > SSH Keys
On renouvelle l’opération avec le compte Pro cette fois,
La commande suivante à faire dans Git Bash va afficher la clé SSH publique pour le compte Pro.
Copier la clé et la coller dans le compte GitLab (votre second compte) : Settings > SSH Keys
On teste les connexions
On teste la bonne connexion avec GitLab depuis l’interface de Git Bash à l’aide du code suivant :
Les connexions sont bonnes, on peut passer aux cas pratiques et commencer à communiquer avec GitLab !
Exemple d’utilisation avec un Git Push initial
Dans cet exemple, nous avons un site WordPress développé en local, que nous souhaitons « pousser » pour la première fois vers notre compte GitLab Perso.
Autrement dit, au lieu d’écrire :
git remote add origin git@gitlab.com:perso/fd.git
On précise le choix d’utiliser le compte Perso et donc d’écrire :
git remote add origin git@gitlab.com-perso:perso/fd.git
Exemple d’utilisation avec un Git Clone depuis GitLab
Dans cet exemple, nous avons un site WordPress sur notre compte Pro GitLab et nous souhaitons le récupérer en local sur notre ordinateur.
Autrement dit, au lieu d’écrire :
git clone git@gitlab.com:pro/fd.git
On précise le choix d’utiliser le compte Pro et donc d’écrire :
git clone git@gitlab.com-pro:pro/fd.git
A vous de jouer maintenant !