Unterstützte GPG-Schlüsselalgorithmen
GitHub unterstützt mehrere GPG-Schlüsselalgorithmen. Wenn Du versuchst, einen Schlüssel hinzuzufügen, der mit einem nicht unterstützten Algorithmus generiert wurde, kann es zu einem Fehler kommen.
- RSA
- ElGamal
- DSA
- ECDH
- ECDSA
- EdDSA
Einen GPG-Schlüssel erzeugen
Hinweis: Bevor du einen neuen GPG-Schlüssel erzeugst, musst du unbedingt deine E-Mail-Adresse verifizieren. Wenn du deine E-Mail-Adresse nicht verifiziert hast, kannst du Commits und Tags nicht mit GPG signieren. Weitere Informationen findest du unter Deine E-Mail-Adresse verifizieren.
-
Lade die GPG-Befehlszeilentools für dein Betriebssystem herunter und installiere sie. Wir empfehlen normalerweise, die aktuellste Version für dein Betriebssystem zu installieren.
-
Öffne TerminalTerminalGit Bash.
-
Erzeuge ein GPG-Schlüsselpaar. Da es mehrere GPG-Versionen gibt, musst du möglicherweise die relevante Manpage konsultieren, um den entsprechenden Befehl zur Schlüsselgenerierung zu finden.
-
Wenn du Version 2.1.17 oder höher verwendest, füge den folgenden Text ein, um ein GPG-Schlüsselpaar zu erzeugen.
Shell gpg --full-generate-key
gpg --full-generate-key
-
Wenn du nicht Version 2.1.17 oder höher verwendest, funktioniert der
gpg --full-generate-key
-Befehl nicht. Füge den nachfolgenden Text ein, und fahre mit Schritt 6 fort.Shell gpg --default-new-key-algo rsa4096 --gen-key
gpg --default-new-key-algo rsa4096 --gen-key
-
-
Gib an der Eingabeaufforderung den gewünschten Schlüssel ein, oder drücke
Enter
, um die Standardeinstellung zu akzeptieren. -
Gib an der Eingabeaufforderung die gewünschte Schlüsselgröße ein, oder drücke
Enter
, um die Standardeinstellung zu akzeptieren. -
Gib die Zeitdauer für die Gültigkeit des Schlüssels ein. Drücke
Enter
, um die Standardeinstellung festzulegen, die vorgibt, dass der Schlüssel nicht abläuft. Es wird empfohlen, diese Standardeinstellung zu übernehmen, außer es ist ein Ablaufdatum erforderlich. -
Überprüfe, dass deine Einstellungen korrekt sind.
-
Gib deine Benutzer-ID-Informationen ein.
Hinweis: Wenn du zur Eingabe deiner E-Mail-Adresse aufgefordert wirst, stelle sicher, dass du die verifizierte E-Mail-Adresse für dein GitHub-Konto eingibst. Um deine E-Mail-Adresse privat zu halten, verwende die von GitHub bereitgestellte
no-reply
-E-Mail-Adresse. Weitere Informationen findest du unter Deine E-Mail-Adresse verifizieren und E-Mail-Adresse für Commits festlegen. -
Gib eine sichere Passphrase ein.
-
Verwende den Befehl
gpg --list-secret-keys --keyid-format=long
, um die Langform der GPG-Schlüssel aufzulisten, für die du sowohl über einen öffentlichen als auch einen privaten Schlüssel verfügst. Zum Signieren von Commits oder Tags ist ein privater Schlüssel erforderlich.Shell gpg --list-secret-keys --keyid-format=long
gpg --list-secret-keys --keyid-format=long
Hinweis: Bei einigen GPG-Installationen unter Linux musst du möglicherweise stattdessen
gpg2 --list-keys --keyid-format LONG
verwenden, um eine Liste einer vorhandenen Schlüssel anzuzeigen. In diesem Fall musst du auch Git für die Verwendung vongpg2
konfigurieren, indem dugit config --global gpg.program gpg2
ausführst. -
Kopiere aus der Liste der GPG-Schlüssel die lange Form der GPG-Schlüssel-ID, die du verwenden möchtest. In diesem Beispiel lautet die GPG-Schlüssel-ID
3AA5C34371567BD2
:Shell $ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot <hubot@example.com> ssb 4096R/4BB6D45482678BE3 2016-03-10
$ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot <hubot@example.com> ssb 4096R/4BB6D45482678BE3 2016-03-10
-
Füge den folgenden Text ein, und ersetzte dabei die GPG-Schlüssel-ID, die du verwenden möchtest. In diesem Beispiel lautet die GPG-Schlüssel-ID
3AA5C34371567BD2
:Shell gpg --armor --export 3AA5C34371567BD2 # Prints the GPG key ID, in ASCII armor format
gpg --armor --export 3AA5C34371567BD2 # Prints the GPG key ID, in ASCII armor format
-
Kopiere deinen GPG-Schlüssel, der mit
-----BEGIN PGP PUBLIC KEY BLOCK-----
beginnt und auf-----END PGP PUBLIC KEY BLOCK-----
endet.