Skip to main content

Einen neuen GPG-Schlüssel erzeugen

Wenn du noch keinen GPG-Schlüssel besitzt, kannst du einen neuen GPG-Schlüssel für das Signieren von Commits und Tags erzeugen.

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 Verifizieren deiner E-Mail-Adresse.

  1. Lade die GPG-Befehlszeilentools für dein Betriebssystem herunter und installiere sie. Wir empfehlen normalerweise, die aktuellste Version für dein Betriebssystem zu installieren.

  2. Öffne TerminalTerminalGit Bash.

  3. 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. Dein Schlüssel muss RSA verwenden.

    • 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
    • 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
  4. Gib an der Eingabeaufforderung den gewünschten Schlüssel ein, oder drücke Enter, um die Standardeinstellung zu akzeptieren.

  5. Gib an der Eingabeaufforderung die gewünschte Schlüsselgröße ein, oder drücke Enter, um die Standardeinstellung zu akzeptieren. Dein Schlüssel muss mindestens 4096 Bits aufweisen.

  6. 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.

  7. Überprüfe, dass deine Einstellungen korrekt sind.

  8. 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 Verifizieren deiner E-Mail-Adresse und Festlegen deiner Commit-E-Mail-Adresse.

  9. Gib eine sichere Passphrase ein.

  10. 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

    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 von gpg2 konfigurieren, indem du git config --global gpg.program gpg2 ausführst.

    1. 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{:copy} $ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot ssb 4096R/42B317FD4BA89E7A 2016-03-10 ```
  11. 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
  12. Kopiere deinen GPG-Schlüssel, der mit -----BEGIN PGP PUBLIC KEY BLOCK----- beginnt und auf -----END PGP PUBLIC KEY BLOCK----- endet.

  13. Füge den GPG-Schlüssel deinem GitHub-Konto hinzu.

Weitere Informationsquellen