Gérer plusieurs comptes GitHub avec des clés SSH sur Windows

20 juillet 2025

Introduction

Git ne permet pas de gérer plusieurs comptes GitHub nativement, car il utilise une seule configuration par défaut.

Avant de commencer : nettoyage recommandé

Supprimer les identifiants GitHub enregistrés évite les conflits et garantit une configuration multi-comptes propre et efficace.

Effacer les identifiants GitHub (sans terminal)

  1. Menu Démarrer
  2. Panneau de configuration
  3. Comptes d’utilisateurs
  4. Gestionnaire d’identifiants
  5. onglet Information d'identification windows
  6. Trouve les entrées liées à GitHub (ex : git:https://github.com) et clique sur Supprimer

Dans PowerShell

Utiliser PowerShell en mode administrateur

  1. Ferme PowerShell s’il est déjà ouvert
  2. Clique sur le bouton Démarrer et tape PowerShell
  3. Clique droit sur Windows PowerShell puis sélectionne "Exécuter en tant qu’administrateur"

Générer une clé SSH

ssh-keygen -t ed25519

La réponse suivante s’affiche

Enter file in which to save the key (C:\Users\pierr\.ssh\id_ed25519):

Copier le contenu entre parenthèses en personnalisant la chaîne de caractères après id_
Exemple : C:\Users\pierr\.ssh\id_pro

La réponse suivante s’affiche

Enter passphrase (empty for no passphrase):

laisse vide

Enter same passphrase again:

deux fois

La réponse suivante s’affiche

Your identification has been saved in C:\Users\pierr\.ssh\id_pro

Service SSH Agent

Activer le service

  1. Appuie sur Windows + R, tape services.msc et valide
  2. Cherche OpenSSH Authentication Agent.
  3. Clique droit puis "Propriétés"
  4. Change le Type de démarrage en Manuel ou Automatique
  5. Clique sur Appliquer
  6. Clique Démarrer
  7. Clique OK

Démarrer le service

Démarre le service et le configure pour qu’il puisse être lancé à la demande:

Get-Service ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent

vérifier que le service est bien lancé

Get-Service ssh-agent

Ajouter la clé SSH

Toujours dans PowerShell :

ssh-add C:\Users\pierr\.ssh\id_pro

Pour vérifier que la clé est bien chargée :

ssh-add -l

Tester la configuration

ssh -T github-pro

Créer un fichier de configuration SSH

Dans C:\Users\pierr\.ssh\, ajoute un fichier config sans extension

# pro github account
Host github-pro
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile C:\Users\pierr\.ssh\id_pro

# perso github account
Host github-perso
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile C:\Users\pierr\.ssh\id_perso

Coté VS Code

Configurer le compte Git pour chaque projet

Dans le terminal intégré de VS Code (dans le dossier de chaque projet), tu peux définir l’utilisateur Git spécifique :

git config user.name "NomUtilisateurGitHub"
git config user.email "email@github.com"

Ces réglages ne s’appliquent qu’au dépôt actuel grâce à l’option locale (--local est implicite si tu ne mets rien).

Ajouter la clé publique à GitHub

  1. Copie le contenu de la clé publique, dans PowerShell :

    cat ~/.ssh/id_pro.pub
  2. puis sur GitHub

    1. GitHub
    2. Settings
    3. SSH and GPG keys
    4. New SSH key
    5. Donne un nom
    6. Colle la clé
    7. clique sur Add SSH key

Modifier l’URL du remote

Si tu veux que le projet utilise une clé SSH spécifique (via ton fichier ~/.ssh/config), il faut modifier l’URL du dépôt distant :

git remote set-url origin git@github-pro:utilisateur/repo.git

Tu peux vérifier l’URL actuelle avec :

git remote -v

Configurer l’identité Git locale

Dans le dossier du projet, configure le nom et l’email associés au bon compte :

git config user.name "TonNomGitHub"
git config user.email "ton_email@exemple.com"

Ces réglages sont locaux au projet, donc ils n’affecteront pas tes autres dépôts.

Vérifie que ça fonctionne avec

git config user.name
git config user.email

Pusher sur GitHub via le terminal

Une fois les comptes et clés SSH configurés, le code doit être envoyé via le terminal avec git push

Retour en haut