Git Anleitungen GitHub Commit-Signierung per SSH Disclaimer Diese Anleitung zeigt dir, wie du Git-Commits mit einem SSH-Schlüssel signieren kannst. Das sorgt dafür, dass Plattformen wie GitHub deine Commits als „Verified“ anzeigen, sofern dein öffentlicher Schlüssel dort hinterlegt ist. Die Einrichtung erfolgt zunächst lokal für ein einzelnes Repository – so kannst du dich langsam mit signierten Commits vertraut machen. Eine globale Konfiguration ist optional am Ende beschrieben. Voraussetzungen Git ist installiert ( git --version ) Du verfügst über ein GitHub-Konto SSH ist auf deinem System verfügbar ( ssh -V ) Schritt 1: SSH-Schlüssel erzeugen Wenn du bereits einen SSH-Schlüssel unter ~/.ssh/id_ed25519 verwendest, kannst du diesen Schritt überspringen. Öffne ein Terminal (am besten cmd.exe) Führe folgenden Befehl aus: ssh-keygen -t ed25519 -C "deine@email.de" Drücke Enter, um den Standardspeicherort zu wählen: ~/.ssh/id_ed25519 Optional: Vergib eine Passphrase für zusätzlichen Schutz Schritt 2: SSH-Schlüssel auf GitHub hochladen Gehe zu https://github.com/settings/ssh Klicke auf "New SSH key" Vergib einen sinnvollen Titel (z. B. „GitHub_Sign_Key“ ) Ändere den Key type auf " Signing Key " Gib deinen öffentlichen Schlüssel im Terminal aus: type %USERPROFILE%\.ssh\id_ed25519.pub Kopiere den gesamten Inhalt (beginnt mit ssh-ed25519 ) und füge ihn bei GitHub ein. Klicke auf "Add SSH key" Schritt 3: SSH-Signierung für ein Repository aktivieren Wechsle in dein Repository-Verzeichnis und führe folgende Befehle aus: git config commit.gpgsign true git config gpg.format ssh git config user.signingkey ~/.ssh/id_ed25519.pub Das aktiviert die Signaturpflicht für Commits nur in diesem Repository . Schritt 4: Signatur Testen Erstelle eine Testdatei: echo "Signatur-Test" > test.txt Commit erstellen: git add . git commit -m "Signierter Commit per SSH" Push auf GitHub: git push origin main Rufe danach den Commit auf GitHub auf – er sollte mit einem „Verified“-Badge markiert sein. Fehlerbehebung Problem Mögliche Ursache Commit ist nicht signiert commit.gpgsign ist nicht aktiviert oder falscher Schlüsselpfad „Unverified“ auf GitHub Öffentlicher Schlüssel fehlt in GitHub oder ist nicht korrekt hinterlegt Fehlermeldung beim Commit SSH-Agent läuft nicht oder Pfad stimmt nicht Hilfreiche Prüf-Befehle: git config --get commit.gpgsign git config --get gpg.format git config --get user.signingkey Optional: SSH-Signatur global aktivieren Wenn du deine Commits dauerhaft signieren möchtest, kannst du die Einstellungen global aktivieren: git config --global commit.gpgsign true git config --global gpg.format ssh git config --global user.signingkey ~/.ssh/id_ed25519.pub Das wirkt sich auf alle zukünftigen Repositories aus. Abschließender Hinweis Wenn ein Projekt Branch-Regeln wie „Require signed commits“ verwendet, musst du signieren, um Commits pushen zu können. Diese Anleitung hilft dir, diese Voraussetzung sicher zu erfüllen. ⚠️ Falls du die Commit-Signierung konfiguriert hast und noch unsichere Commits offen hast, musst du diese zurücksetzen oder nachsignieren. Andernfalls wird der nächste Push auf deinen Branch blockiert, sofern dieser „Require signed commits“ aktiviert hat.