GitHub Commits mit SSH statt GPG signieren

Falls Sie mitdiskutieren möchten, ob das signieren von Commits überhaupt Sinn macht, könnte Ihnen dieser Artikel weiterhelfen: https://dlorenc.medium.com/should-you-sign-git-commits-f068b07e1b1f.

Meine Antwort war ja, ich möchte signieren, aber das Verwalten eines zusätzlichen Schlüssels pro Git Hosting Platform ist nervig.

Glücklicherweise erlaubt GitHub das signieren mit dem SSH Schlüssel, den ich ohnehin für die Verwaltung meiner Git Repositories verwende. Das ganze ist zudem in weniger als fünf Minuten eingerichtet!

Auf Ihrem Endgerät konfigurieren

git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/<your public key name>.pub

Achten Sie auf die Dateiendung .pub. Niemals den Private Key verwenden. Falls Sie Ihren Private Key versehentlich irgendwo verwendet haben, beispielsweise bei GitHub als SSH Key registriert, so erzeugen Sie einen neuen. Zur Sicherheit.

Die Option –global konfiguriert für alle Git Repositories auf Ihrem Endgerät. Falls Sie verschiedene Konfigurationen benötigen, lassen Sie –global weg und setzen Sie die Option pro Repository, oder entwickeln Sie eine komplexere Konfiguration für Ihren persönlichen Bedarf.

Falls Sie weitere Informationen benötigen, siehe GitHub Dokumentation

In GitHub konfigurieren

Wenn Sie Ihren SSH Public Key ebenfalls für die Signatur verwenden möchten, müssen Sie den Key doppelt bei GitHub hinterlegen: als Authentication Key und als Signing Key.

Fügen Sie Ihren Public Key als neuen Signing Key hinzu unter https://github.com/settings/keys

Klicken Sie in der Rubrik “SSH Keys” auf “new SSH Key”, dann wählen Sie als Key type “Signing Key”.

Falls Sie weitere Informationen benötigen, siehe GitHub Dokumentation

Commits signieren

Per default signiert ein git commit nicht.

Signieren Sie per Option “-S” bei jedem Commit

git commit -S

oder konfigurieren Sie das Signieren für alle Commits

git config --global commit. gpgsign true

Falls Sie weitere Informationen benötigen, siehe GitHub Dokumentation

👋 Hallo, ich bin Denis,

ich bin freiberuflicher Software Architekt, Full Stack Developer und Mitgründer von DenktMit, einem Experten-Netzwerk selbstständiger IT-Spezialisten.

Haben Sie Fragen oder eine Projektidee? Dann kontaktieren Sie mich auf LinkedIn oder per E-Mail.

Zurück zur Blog Übersicht