WSL2: SSH-Setup für mehrere GitHub-Konten

Montag, 27. Oktober 2025 - Lesezeit: ~1 Minute

Diese Anleitung beschreibt, wie man mehrere GitHub-Konten auf einem Computer effizient mit SSH verwaltet. Sie zeigt Schritt für Schritt, wie man eigene SSH-Schlüssel erstellt, diese sicher konfiguriert und Git so einrichtet, dass jedes Projekt automatisch das passende Konto verwendet.

Schritt 1

Erstelle den Ordner .ssh

Führe diese Befehle aus, um einen neuen .ssh-Ordner zu erstellen, falls er noch nicht existiert:

mkdir ~/.ssh
chmod 700 ~/.ssh
cd ~/.ssh

Schritt 2

Erzeuge SSH-Schlüssel für alle Konten

ssh-keygen -t rsa -C "adresse@e-mail-domain" -f "github-benutzername"
  • -t rsa: Typ des Schlüssels (RSA).
  • -C: Kommentar (optional).
  • -f: Dateiname des Schlüssels.

Lege ein sicheres Passwort fest (an einem verschlüsselten Ort speichern).

Schritt 3

Füge die Schlüssel dem SSH-Agenten hinzu

ssh-add ~/.ssh/<schlüsselname>

Falls der Agent nicht läuft:

eval `ssh-agent -s`

Wenn der Schlüssel nicht zugänglich ist:

chmod 600 ~/.ssh/<schlüsseldatei>

Schritt 4

Füge die generierten SSH-Schlüssel den jeweiligen GitHub-Konten hinzu

cat ~/.ssh/<schlüssel>.pub

Kopiere den Inhalt und füge ihn unter GitHub › Einstellungen › SSH and GPG keys › New SSH key ein.

Schritt 5

Erstelle eine Konfigurationsdatei

nano ~/.ssh/config

Beispielinhalt:

Host github-personal
  HostName github.com
  User git
  IdentityFile ~/.ssh/github-personal
  AddKeysToAgent yes

Host github-work
  HostName github.com
  User git
  IdentityFile ~/.ssh/github-work
  AddKeysToAgent yes

Schritt 6

Eigene .gitconfig pro Ordner

~/personal/.gitconfig:

[user]
  name = Persönlich
  email = personal@any.com

~/work/.gitconfig:

[user]
  name = Arbeit
  email = work@any.com

Globale Konfiguration:

[includeIf "gitdir:~/work/"]
  path = ~/work/.gitconfig
[includeIf "gitdir:~/personal/"]
  path = ~/personal/.gitconfig

Schritt 7

Repository klonen

git clone git@github-personal:owner/repo.git

Beispiel:

git clone git@github-personal:mein-name/mein-repo.git

Quelle: https://gist.github.com/lucas-barake/5b169bc0becc7c3ed76b4aaa8260f6de