Wie setze ich SSH-Schlüssel für die Authentifizierung mit Git in Windows auf?

Melden
  1. Einleitung
  2. Vorbereitungen
  3. SSH-Schlüssel generieren
  4. SSH-Agent starten und Schlüssel hinzufügen
  5. Öffentlichen Schlüssel kopieren und zum Git-Dienst hinzufügen
  6. Testen der SSH-Verbindung
  7. Git-Repositories via SSH klonen und verwenden
  8. Zusätzliche Hinweise
  9. Fazit

Einleitung

Die Verwendung von SSH-Schlüsseln für die Authentifizierung bei Git-Diensten wie GitHub, GitLab oder Bitbucket ermöglicht eine sichere und bequeme Verbindung ohne wiederholte Passworteingabe. In Windows kann die Einrichtung zunächst komplex erscheinen, da SSH und Git unterschiedliche Komponenten nutzen. Im Folgenden erläutere ich detailliert, wie du SSH-Schlüssel generierst, konfigurierst und für Git verwendest.

Vorbereitungen

Stelle sicher, dass Git auf deinem Windows-System installiert ist. Falls noch nicht geschehen, kannst du Git von git-scm.com herunterladen und installieren. Während der Installation empfiehlt es sich, die Option "Git Bash Here" zu aktivieren, da Git Bash eine UNIX-ähnliche Shell bietet, mit der sich SSH-Kommandos einfach verwenden lassen.

SSH-Schlüssel generieren

Öffne nach der Installation Git Bash. Dort kannst du durch Eingabe des folgenden Befehls ein neues SSH-Schlüsselpaar generieren:

ssh-keygen -t ed25519 -C "deine.email@example.com"

Ersetze deine.email@example.com durch deine E-Mail-Adresse, die üblicherweise zur Identifikation des Schlüssels verwendet wird. Wenn dein System kein Ed25519 unterstützt, kannst du alternativ rsa mit -t rsa -b 4096 wählen.

Nach Eingabe des Kommandos wirst du gefragt, wo der Schlüssel gespeichert werden soll. Standardmäßig ist dies im Verzeichnis C:\Users\Benutzername\.ssh\id_ed25519. Drücke einfach Enter, um den Standardpfad zu akzeptieren.

Als nächstes kannst du eine Passphrase eingeben, die den privaten Schlüssel zusätzlich schützt. Du kannst das Feld auch leer lassen, aber eine Passphrase erhöht die Sicherheit.

SSH-Agent starten und Schlüssel hinzufügen

Um deinen privaten Schlüssel zu verwenden, sollte der SSH-Agent laufen und den Schlüssel verwalten. In Git Bash kannst du den Agenten mit folgendem Befehl starten:

eval "$(ssh-agent -s)"

Füge danach deinen privaten Schlüssel zum Agenten hinzu mit:

ssh-add ~/.ssh/id_ed25519

Damit ist der Schlüssel geladen und bereit für die Authentifizierung.

Öffentlichen Schlüssel kopieren und zum Git-Dienst hinzufügen

Der öffentliche Schlüssel befindet sich standardmäßig in ~/.ssh/id_ed25519.pub. Um den Inhalt anzuzeigen und zu kopieren, kannst du folgenden Befehl verwenden:

cat ~/.ssh/id_ed25519.pub

Kopiere den gesamten ausgegebenen Text, der mit ssh-ed25519 beginnt und mit deiner E-Mail endet.

Nun musst du diesen Schlüssel in deinem Git-Hosting-Dienst hinterlegen. Bei GitHub findest du zum Beispiel die Option unter Settings > SSH and GPG keys > New SSH key. Gib dem Schlüssel einen aussagekräftigen Namen (z.B. Mein Laptop Windows) und füge den kopierten Schlüssel ein. Speichere die Änderung.

Testen der SSH-Verbindung

Um sicherzustellen, dass alles funktioniert, kannst du folgende Verbindung testen:

ssh -T git@github.com

Wenn du GitLab oder Bitbucket verwendest, ersetze git@github.com entsprechend mit git@gitlab.com oder git@bitbucket.org.

Beim ersten Verbindungsaufbau wirst du gefragt, ob du dem Host vertraust. Bestätige dies mit yes. Wenn die Verbindung erfolgreich ist, bekommst du eine Willkommensnachricht.

Git-Repositories via SSH klonen und verwenden

Ab sofort kannst du Git-Repositories per SSH klonen, ohne dein Passwort bei jedem Push oder Pull eingeben zu müssen. Nutze dafür die SSH-URL, die in der Regel so aussieht:

git@github.com:benutzername/repository.git

Beispiel zum Klonen:

git clone git@github.com:benutzername/repository.git

Achte darauf, in deinem Git-Client oder in den Repository-Einstellungen auf SSH als Zugriffsart einzustellen.

Zusätzliche Hinweise

Falls du mehrere SSH-Schlüssel für verschiedene Accounts verwendest, musst du die Datei ~/.ssh/config anpassen, um den richtigen Schlüssel pro Host festzulegen. Dazu erstellst du eine Datei (falls nicht vorhanden) mit folgendem Inhalt:

Host github.com HostName github.com User git IdentityFile ~/.ssh/id_ed25519

Wenn du Git in Windows Command Prompt (CMD) oder PowerShell verwenden möchtest, kannst du ebenfalls Git Bash oder den OpenSSH-Client nutzen, der in neueren Windows-Versionen integriert ist. Die Pfadstruktur und Befehle sind dort ähnlich.

Fazit

Die Nutzung von SSH-Schlüsseln für Git unter Windows erhöht die Sicherheit und verbessert den Workflow, indem die manuelle Passworteingabe entfällt. Mit Hilfe von Git Bash und OpenSSH kannst du unkompliziert Schlüssel generieren, verwalten und in deinem Git-Dienst hinterlegen. Einmal eingerichtet, erleichtert dies die Arbeit mit Git erheblich.

0
0 Kommentare