GPG-Verifizierung aktivieren: Der ultimative Guide [2025 Easy Guide]
Hier ist ein aktueller und leicht verständlicher Guide für das Jahr 2025, wie du GPG-Verifizierung für deine Git-Commits einrichtest.
Hast du dich jemals gefragt, warum manche Commits auf GitHub oder GitLab ein grünes "Verified"-Label haben? Das liegt an der GPG-Signierung. Ohne diese kann theoretisch jeder behaupten, er sei du, indem er einfach deinen Namen und deine E-Mail in der Git-Konfiguration fälscht.
Mit GPG (GNU Privacy Guard) stellst du sicher, dass deine Identität kryptografisch bestätigt ist.
Schritt 1: Prüfen, ob GPG bereits installiert ist
Öffne dein Terminal (PowerShell, Bash oder Zsh) und gib Folgendes ein:
gpg --version
- Falls eine Versionsnummer erscheint: Super, du kannst fortfahren.
- Falls der Befehl nicht gefunden wurde:
- macOS:
brew install gpg2 - Windows: Installiere Gpg4win.
- Linux (Ubuntu/Debian):
sudo apt install gnupg
- macOS:
Schritt 2: Ein neues GPG-Schlüsselpaar erstellen
Wir erstellen nun einen modernen, sicheren Schlüssel.
- Gib diesen Befehl ein:
gpg --full-generate-key - Auswahl: Wähle
(1) RSA and RSA(oder(9) ECC, falls du modernere Ed25519-Schlüssel bevorzugst). - Schlüsselgröße: Wähle
4096Bit. - Gültigkeit: Drücke
Enterfür "läuft nicht ab" (oder wähle z.B.1yfür ein Jahr). - Identität: Gib deinen Namen und deine E-Mail-Adresse an.
- Wichtig: Die E-Mail muss mit der E-Mail-Adresse deines GitHub/GitLab-Accounts übereinstimmen!
- Passphrase: Wähle ein sicheres Passwort. Du wirst es beim Signieren von Commits brauchen.
Schritt 3: Deinen Public Key exportieren
Damit GitHub/GitLab deine Identität prüfen kann, musst du ihnen deinen öffentlichen Schlüssel geben.
-
Liste deine Schlüssel auf, um die ID zu finden:
gpg --list-secret-keys --keyid-format LONG -
Suche nach der Zeile, die mit
secbeginnt. Die ID ist die Zeichenfolge nach dem Schrägstrich. Beispiel:sec rsa4096/ABC123DE456FG789 2025-01-01 [SC]-> Die ID istABC123DE456FG789. -
Exportiere den Schlüssel (ersetze
DEINE_IDdurch deine echte ID):gpg --armor --export DEINE_ID -
Kopiere den gesamten Block (von
-----BEGIN PGP PUBLIC KEY BLOCK-----bis zum Ende).
Schritt 4: Den Schlüssel bei GitHub hinzufügen
- Gehe zu deinen GitHub Settings.
- Klicke links auf SSH and GPG keys.
- Klicke auf New GPG key.
- Füge deinen kopierten Key ein und speichere.
Schritt 5: Git mitteilen, welchen Schlüssel es nutzen soll
Jetzt musst du deinem lokalen Git sagen, dass es diesen Schlüssel für deine Arbeit verwenden soll.
# Ersetze DEINE_ID wieder mit deiner ID
git config --global user.signingkey DEINE_ID
# Aktiviere die automatische Signierung für ALLE Commits
git config --global commit.gpgsign true
Tipp für Windows-Nutzer: Falls Git den GPG-Pfad nicht findet, musst du ihn manuell setzen:
git config --global gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg.exe"
Schritt 6: Einen Commit signieren und testen
Erstelle eine Teständerung und committe sie:
git add .
git commit -m "Mein erster verifizierter Commit"
Du wirst nun nach deiner GPG-Passphrase gefragt, die du in Schritt 2 festgelegt hast.
Überprüfung: Push den Commit zu GitHub und schau dir die Commit-Historie an. Du solltest nun das glänzende grüne "Verified"-Badge neben deinem Namen sehen! ✅
Bonus: Passwort-Abfrage automatisieren (GPG Agent)
Wenn du nicht bei jedem Commit dein Passwort eingeben willst, stelle sicher, dass der GPG-Agent läuft.
- Mac/Linux: Erstelle oder editiere die Datei
~/.gnupg/gpg-agent.confund füge hinzu:default-cache-ttl 34560000 max-cache-ttl 34560000Das speichert dein Passwort für die gesamte Session.
Häufige Fehler 2025:
- Email-Mismatch: Wenn die E-Mail im GPG-Key nicht exakt die ist, die in Git (
git config user.email) hinterlegt ist, wird das Badge nicht als "Verified" angezeigt. - TTY Error: Falls du eine Fehlermeldung wie
gpg: signing failed: Inappropriate ioctl for deviceerhältst, fügeexport GPG_TTY=$(tty)zu deiner.bashrcoder.zshrchinzu.
Glückwunsch! Dein Code ist jetzt sicherer und professioneller signiert.