Comment gérer plusieurs comptes GitHub sur la même machine

En tant que développeurs, nous devons normalement jongler avec plusieurs comptes GitHub sur la même machine. Par exemple, nous avons notre propre compte GitHub personnel pour notre propre projet, puis un autre compte GitHub que nous utilisons pour notre projet client.

Cet article fournit des instructions détaillées sur la configuration et l'utilisation de plusieurs comptes GitHub sur le même ordinateur.



Gérer plusieurs comptes GitHub

Dans ce scénario, nous allons créer deux comptes GitHub différents sur la même machine, puis basculer entre les deux.


Générer des clés SSH

Tout d'abord, nous devons créer nos clés SSH privées / publiques pour notre personnel Compte.

Nous pouvons le faire en exécutant la commande suivante dans un terminal:


$ ssh-keygen -t rsa -C 'email@gmail.com' -f 'id_rsa_personal'

L'adresse e-mail ci-dessus est celle que vous utilisez pour vous connecter à votre compte GitHub personnel.

Lorsqu'on vous demande l'emplacement pour enregistrer les clés, acceptez l'emplacement par défaut en appuyant sur Entrée. Une paire de clés privée / publique est créée à l'emplacement ssh par défaut ~/.ssh/.

Nos clés SSH personnelles sont:

~/.ssh/id_rsa_personal.pub et ~/.ssh/id_rsa_personal


Ensuite, nous créons nos clés SSH privées / publiques pour notre client Compte:

$ ssh-keygen -t rsa -C 'email@company.com' -f 'id_rsa_company'

L'adresse e-mail ci-dessus est celle que vous utilisez pour vous connecter à votre compte client GitHub.

La commande ci-dessus crée nos clés SSH client localisées dans ~/.ssh/.

Nos clés SSH client sont:


~/.ssh/id_rsa_company.pub et ~/.ssh/id_rsa_company

Ajouter des clés SSH aux comptes GitHub respectifs

Connectez-vous à votre compte GitHub personnel et ajoutez votre id_rsa_personal.pub clé publique personnelle.

Ensuite, connectez-vous à votre compte client GitHub et ajoutez-vous id_rsa_company.pub clé publique du client.

Si vous ne savez pas comment procéder, lisez installer Git et générer des clés SSH .


Mettre à jour le fichier de configuration SSH

Le fichier de configuration SSH réside dans ~/.ssh/. Si vous ne voyez pas de fichier de configuration, créez-en un:

$ cd ~/.ssh/ $ touch config

// Creates the file if not exists $ nano config

// Opens the file for editing

Ajoutez vos différents profils GitHub dans le fichier de configuration SSH:

# Personal account Host github.com-personal HostName github.com User git IdentityFile ~/.ssh/id_rsa_personal # Company account-1 Host github.com-company HostName github.com User git IdentityFile ~/.ssh/id_rsa_company

Enregistrer les clés SSH avec ssh-agent

Démarrez votre agent ssh en exécutant eval '$(ssh-agent -s)'.

Ajoutez ensuite vos clés SSH au ssh-agent:


ssh-add ~/.ssh/id_rsa_personal ssh-add ~/.ssh/id_rsa_company

Cela enregistrera vos clés SSH avec l'agent ssh sur la machine.

Une seule clé SSH active dans ssh-agent à la fois

Maintenant que nous avons créé nos clés SSH pour le personnel et l'entreprise et les avons enregistrées auprès de l'agent ssh, nous pouvons désormais basculer facilement entre les deux comptes GitHub sur la même machine.

Nous devons nous assurer que nous n'avons que la clé SSH respective ajoutée dans le ssh-agent à la fois.

Par exemple, si nous travaillons sur notre projet personnel, nous faisons:

$ ssh-add -D

//removes all ssh entries from the ssh-agent $ ssh-add ~/.ssh/id_rsa_personal
// Adds the personal ssh key

De même, si nous travaillons sur notre projet client, nous faisons:

$ ssh-add -D

//removes all ssh entries from the ssh-agent $ ssh-add ~/.ssh/id_rsa_company

// Adds the company ssh key

Et c'est ainsi que nous pouvons gérer plusieurs comptes GitHub sur la même machine et basculer entre eux tout en travaillant sur des projets respectifs.