Comment utiliser plusieurs comptes GitHub avec un seul ordinateur

Online Coding Courses for Kids

La configuration peut essentiellement être décomposée en quatre étapes:

  1. Générez une clé SSH pour le nouveau compte.
  2. Attachez cette nouvelle clé à votre compte GitHub.
  3. Enregistrez la nouvelle clé auprès de l’agent SSH.
  4. Créez un fichier de configuration SSH.

Étape 1. Générez un SSH clé pour le nouveau compte

En utilisant le protocole SSH, nous devrons générer une clé pour tout nouveau compte que nous aimerions utiliser.

Montez sur votre terminal, exécutez la commande suivante et joignez votre adresse e-mail GitHub:

$ ssh-keygen -t rsa -C "uremail@gmail.com" 

Une nouvelle paire de clés sera générée. À ce stade, vous devez faire attention à ne pas écraser votre paire de clés existante, qui ressemblerait à ceci:

({your home Directory}/.ssh/id_rsa):

Au lieu de cela, vous pouvez copier le répertoire et modifier le nom de fichier pour inclure votre nom de compte, comme dans la capture d’écran ci-dessous:

Vous serez ensuite invité à saisir une phrase secrète. Votre nouvelle clé SSH se trouve dans un répertoire similaire à celui-ci:

{your home Directory}/.ssh/id_rsa_uraccount

Étape 2. Attachez la nouvelle clé à votre compte GitHub

Nous venons de créer une clé publique et nous devons maintenant autoriser notre compte GitHub à lui faire confiance. Cela vous permet de ne pas avoir à vous authentifier à chaque fois que vous exécutez une commande à distance (git push, git pull).

Copiez la clé publique via la commande suivante pbcopy < ~/.ssh/id_rsa.pub puis connectez-vous à votre compte GitHub personnel:

  1. Aller à Settings.
  2. Dans la navigation de gauche, cliquez sur SSH and GPG keys.
  3. Cliquer sur New SSH key, nommez-le (c'est une bonne idée de le nommer d'après l'ordinateur sur lequel vous l'utilisez) et collez la clé que vous avez copiée précédemment.
  4. Cliquez sur Add key.

Étape 3. Enregistrez la nouvelle clé avec le Agent SSH

Nous devons maintenant enregistrer notre clé avec le Agent SSH. L'agent SSH assure le suivi des clés d'identité et des mots de passe des utilisateurs et fonctionne comme une couche de sécurité supplémentaire.

Dans votre terminal, écrivez la commande ssh-add et ajoutez le chemin d'accès aux fichiers contenant vos clés. Comme indiqué ci-dessous, nous ajoutons des clés pour notre compte principal et le deuxième compte que nous venons de créer.

ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa_uraccount

Étape 4. Créez un SSH fichier de configuration

Le fichier de configuration SSH nous permet de définir des règles de configuration qui spécifieront quand nous voulons pousser vers notre compte professionnel par rapport à notre compte personnel. Cela se fait en définissant le fichier d'identité à utiliser (ceux que nous avons ajoutés à notre agent SSH) sur quel domaine.

Si le fichier a déjà été créé, il doit être à ~/.ssh/config. Mais par défaut, il n'existera pas, nous devons donc le créer en exécutant la commande touch ~/.ssh/config.

Vous pouvez utiliser n'importe quel éditeur de texte ou IDE pour ouvrir et modifier le fichier. Je suis allé avec l'éditeur de texte du terminal vigueur. Je ne l'utilise pas fréquemment, et il a un peu de courbe d'apprentissage, donc j'ai tendance à utiliser un feuille de triche pour y naviguer.

Pour ouvrir le fichier, utilisez vim config.

# Account 1 (work or personal) - the default config
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa

# Account 2 (work or personal) - the config we are adding
Host github-uraccount
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_uraccount

La partie supérieure est la configuration par défaut. Il comprend les éléments suivants:

  • les hôte(github.com)
  • Ses nom d'hôte (github.com)
  • une identifiant d'utilisateur (git)
  • ses fichier d'identité (~/.ssh/id_rsa)

Nous pouvons essentiellement dupliquer la configuration par défaut; il nous suffit de changer deux choses: l'hôte (github-uraccount) et le fichier d'identité (à la clé que nous avons créée précédemment, ~/.ssh/id_rsa_uraccount).

Et cela devrait le faire. Enregistrez et fermez le fichier à l'aide de :wq (si vous utilisez vim).

Close Menu