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.

Platform navigation

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.

  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.

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

  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 Deine E-Mail-Adresse verifizieren und E-Mail-Adresse für Commits festlegen.

  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.

  11. 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
    
  12. 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
    
  13. Kopiere deinen GPG-Schlüssel, der mit -----BEGIN PGP PUBLIC KEY BLOCK----- beginnt und auf -----END PGP PUBLIC KEY BLOCK----- endet.

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

Weiterführende Themen