À propos des clés de signature des paquets de mise à niveau
GitHub Enterprise Server Les packages de mise à niveau sont signés avec une clé GPG afin que les administrateurs puissent vérifier que les packages proviennent GitHub. Lorsque vous installez une mise à niveau, l’appliance vérifie la signature du package par rapport à la clé publique GPG stockée dans son keyring.
Il arrive que GitHub renouvelle cette clé de signature. Lorsque cela se produit, vous devez mettre à jour la clé publique GPG sur votre instance avant de pouvoir installer les packages de mise à niveau signés avec la nouvelle clé. Votre instance continuera à fonctionner normalement sans rotation de clé, mais les mises à niveau échoueront à la vérification de signature tant que la clé n’aura pas été mise à jour.
Si la clé de signature n’a pas été pivotée, la tentative d’installation d’un package de mise à niveau échoue avec l’erreur suivante :
Error: The file provided is not a valid GitHub Enterprise Server package.
Considérations relatives aux versions non prises en charge
GitHub recommande vivement la mise à niveau vers une version prise en charge dès que possible.
Les versions antérieures GitHub Enterprise Server à la version 3.16 ne sont pas réinsignées avec la nouvelle clé GPG. Si vous utilisez la version 3.13 ou antérieure, vous ne pourrez pas faire pivoter la clé publique GPG tant que vous n’êtes pas sur au moins la version 3.14. Si vous faites pivoter votre clé publique GPG avant la mise à niveau vers au moins 3.14, vous ne pourrez pas installer les mises à niveau, car la clé publique GPG précédente sera supprimée de votre GitHub Enterprise Server instance.
Pour obtenir de l’aide pour déterminer le chemin de mise à niveau approprié, utilisez le Assistant de mise à niveau.
Prerequisites
- Accès SSH à votre GitHub Enterprise Server instance. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
- Votre instance doit pouvoir accéder à
enterprise.github.comen HTTPS pour télécharger le script de rotation. Si votre instance se trouve derrière un pare-feu restrictif ou dans un environnement à air gapped, téléchargez le script à partir d’une machine externe et transférez-le manuellement vers l’appliance.
Rotation de la clé de signature sur une instance à nœud unique
-
Connectez-vous à votre GitHub Enterprise Server instance via SSH.
-
Téléchargez le script de rotation fourni par GitHub.
curl -fsSL https://enterprise.github.com/security/2026-05-24/rotate-gpg.sh -o rotate-gpg.sh -
Exécutez le script de rotation. Le script doit être exécuté deux fois : une fois en tant qu’utilisateur
adminet une fois avecsudo, car la clé est stockée dans les comptes administrateur et racine.chmod ug+x ./rotate-gpg.sh ./rotate-gpg.sh sudo ./rotate-gpg.sh -
Vérifiez que la rotation s’est terminée correctement. Chaque exécution du script imprime un message de confirmation incluant la nouvelle empreinte digitale de clé.
Rotation de la clé de signature sur les topologies de haute disponibilité ou de cluster
Pour les instances configurées avec une haute disponibilité ou un clustering, la clé doit être pivotée sur chaque nœud.
-
Connectez-vous à n’importe quel nœud dans votre installation de haute disponibilité ou de cluster via SSH.
-
Téléchargez le script de rotation fourni par GitHub.
curl -fsSL https://enterprise.github.com/security/2026-05-24/rotate-gpg.sh -o rotate-gpg.sh -
Exécutez les commandes suivantes. La
ghe-cluster-eachcommande copie le script sur tous les nœuds et l’exécute sur tous les nœuds.ghe-cluster-each -- chmod ug+x ./rotate-gpg.sh ghe-cluster-each -- ./rotate-gpg.sh ghe-cluster-each -- sudo ./rotate-gpg.sh -
Vérifiez que la rotation s’est terminée correctement sur chaque nœud.
Vérification de la clé de signature actuelle
Pour vérifier quelle clé de signature GPG est actuellement installée sur votre instance, connectez-vous via SSH et exécutez :
gpg --list-keys --keyid-format long
La sortie affiche l’empreinte de la clé dans le trousseau de clés. Comparez l’empreinte avec la valeur attendue publiée par GitHub pour confirmer que la rotation a été appliquée correctement.
Ce qu’il faut attendre après la rotation de la clé
Après avoir pivoté la clé de signature :
- Votre instance continue de fonctionner normalement. Aucun temps d’arrêt de l’utilisateur n’est nécessaire.
- Les packages de mise à niveau précédemment téléchargés qui ont été signés avec la clé précédente échouent à la vérification. Téléchargez la dernière version de correctif disponible pour obtenir un package signé avec la nouvelle clé.
- GitHub Enterprise Server Téléchargez uniquement les mises à jour à partir de la page des versions officielles. Pour plus d’informations, consultez GitHub Enterprise Server les notes de publication.
Annulation de la rotation d’une clé
Le script de rotation supprime la clé précédente du keyring GPG avant d’importer la nouvelle clé. Il n’existe aucun moyen intégré d’annuler la rotation.
Si vous avez besoin d’aide pour rétablir une rotation de clé ou récupérer à partir d’une mise à niveau ayant échoué, contactez Support GitHub.