Informationen zu Signaturschlüsseln für Upgrade-Pakete
GitHub Enterprise Server Upgradepakete werden mit einem GPG-Schlüssel signiert, damit Administratoren überprüfen können, ob die Pakete von GitHub stammen. Wenn Sie ein Upgrade installieren, überprüft die Appliance die Paketsignatur anhand des öffentlichen GPG-Schlüssels, der in seinem Schlüsselring gespeichert ist.
GitHub Gelegentlich kann dieser Signaturschlüssel gedreht werden. In diesem Fall müssen Sie den öffentlichen GPG-Schlüssel auf Ihrer Instanz aktualisieren, bevor Sie alle mit dem neuen Schlüssel signierten Upgradepakete installieren können. Ihre Instanz funktioniert weiterhin normal, ohne die Schlüsseldrehung, aber Upgrades schlagen die Signaturüberprüfung fehl, bis der Schlüssel aktualisiert wird.
Wenn der Signaturschlüssel nicht gedreht wurde, schlägt der Versuch, ein Upgradepaket zu installieren, mit dem folgenden Fehler fehl:
Error: The file provided is not a valid GitHub Enterprise Server package.
Überlegungen für nicht unterstützte Versionen
GitHub empfiehlt dringend, so bald wie möglich ein Upgrade auf eine unterstützte Version durchzuführen.
Versionen von GitHub Enterprise Server vor 3.16 werden nicht mit dem neuen GPG-Schlüssel neu signiert. Wenn Sie Version 3.13 oder älter verwenden, können Sie den öffentlichen GPG-Schlüssel erst rotieren, wenn Sie mindestens Version 3.14 verwenden. Wenn Sie Ihren öffentlichen GPG-Schlüssel erneuern, bevor Sie ein Upgrade auf mindestens Version 3.14 durchführen, können Sie keine Upgrades installieren, da der vorherige öffentliche GPG-Schlüssel aus Ihrer GitHub Enterprise Server-Instanz entfernt wird.
Verwenden Sie das Tool Upgrade-Assistenten, um den richtigen Upgradepfad zu ermitteln.
Prerequisites
- SSH-Zugriff auf Ihre GitHub Enterprise Server Instanz. Weitere Informationen findest du unter Auf die Verwaltungsshell (SSH) zugreifen.
- Ihre Instanz muss
enterprise.github.comüber HTTPS erreichen können, um das Rotationsskript herunterzuladen. Wenn Sich Ihre Instanz hinter einer restriktiven Firewall oder in einer luftgespaltenen Umgebung befindet, laden Sie das Skript von einem externen Computer herunter, und übertragen Sie es manuell in die Appliance.
Rotation des Signaturschlüssels in einer Einzelknoten-Instanz
-
Stellen Sie eine Verbindung mit Ihrer GitHub Enterprise Server Instanz über SSH her.
-
Laden Sie das von GitHub bereitgestellte Rotationsskript herunter.
curl -fsSL https://enterprise.github.com/security/2026-05-24/rotate-gpg.sh -o rotate-gpg.sh -
Führen Sie das Rotationsskript aus. Das Skript muss zweimal ausgeführt werden: einmal als
adminBenutzer und einmal mitsudo, da der Schlüssel sowohl im Administrator- als auch im Stammkonto gespeichert ist.chmod ug+x ./rotate-gpg.sh ./rotate-gpg.sh sudo ./rotate-gpg.sh -
Überprüfen Sie, ob die Drehung erfolgreich abgeschlossen wurde. Jede Ausführung des Skripts druckt eine Bestätigungsmeldung, die den neuen Schlüsselfingerabdruck enthält.
Die Rotation des Signaturschlüssels in HA- oder Cluster-Topologien
Für Instanzen, die für Hochverfügbarkeit oder Clustering konfiguriert sind, muss der Schlüssel auf jedem Knoten rotiert werden.
-
Stellen Sie eine Verbindung mit einem beliebigen Knoten in Ihrer HA- oder Clusterinstallation über SSH her.
-
Laden Sie das Rotationsskript herunter, das von GitHub bereitgestellt wird.
curl -fsSL https://enterprise.github.com/security/2026-05-24/rotate-gpg.sh -o rotate-gpg.sh -
Führen Sie die folgenden Befehle aus. Der
ghe-cluster-eachBefehl kopiert das Skript auf alle Knoten und führt es auf allen Knoten aus.ghe-cluster-each -- chmod ug+x ./rotate-gpg.sh ghe-cluster-each -- ./rotate-gpg.sh ghe-cluster-each -- sudo ./rotate-gpg.sh -
Überprüfen Sie, ob die Rotation auf jedem Knoten erfolgreich abgeschlossen wurde.
Überprüfen des aktuellen Signaturschlüssels
Um zu überprüfen, welcher GPG-Signaturschlüssel derzeit auf Ihrer Instanz installiert ist, stellen Sie eine Verbindung über SSH her, und führen Sie Folgendes aus:
gpg --list-keys --keyid-format long
Die Ausgabe zeigt den Fingerabdruck des Schlüssels im Tastenring an. Vergleichen Sie den Fingerprint mit dem erwarteten Wert, der von GitHub veröffentlicht wurde, um zu bestätigen, dass die Rotation korrekt angewendet wurde.
Was nach dem Drehen der Taste zu erwarten ist
Nachdem Sie den Signaturschlüssel gedreht haben:
- Ihre Instanz funktioniert weiterhin normal. Es ist keine Ausfallzeit des Benutzers erforderlich.
- Zuvor heruntergeladene Upgradepakete, die mit dem vorherigen Schlüssel signiert wurden, schlagen bei der Überprüfung fehl. Laden Sie die neueste verfügbare Patchversion herunter, um ein Paket mit dem neuen Schlüssel zu erhalten.
- Laden Sie GitHub Enterprise Server Updates nur von der offiziellen Release-Seite herunter. Weitere Informationen finden Sie unter GitHub Enterprise Server "Releases".
Rückgängigmachen einer Schlüsselrotation
Das Rotationsskript entfernt den vorherigen Schlüssel aus dem GPG-Schlüsselbund, bevor es den neuen Schlüssel importiert. Es gibt keine integrierte Möglichkeit, die Drehung rückgängig zu machen.
Wenn Sie Hilfe beim Zurücksetzen einer Schlüsseldrehung oder wiederherstellung eines fehlgeschlagenen Upgrades benötigen, wenden Sie sich an GitHub-Support.