Skip to main content

Вращение ключа подписи для пакетов обновления

Узнайте, как вращать открытый ключ GPG при GitHub Enterprise ServerGitHub обновлении ключа, используемого для подписания пакетов обновления.

О ключах для подписи пакета обновления

GitHub Enterprise Server пакеты обновления подписываются ключом GPG, чтобы администраторы могли проверить, что пакеты исходят из GitHub. При установке обновления устройство проверяет подпись пакета с открытым ключом GPG, хранящимся в его кольце ключей.

Иногда GitHub можно вращать этот ключ для подписи. В таких случаях необходимо обновить публичный ключ GPG на вашем экземпляре, прежде чем устанавливать пакеты обновления, подписанные новым ключом. Ваш экземпляр продолжит работать нормально без вращения ключа, но обновления не пройдут проверку подписи до обновления ключа.

Если ключ подписи не повернут, попытка установить пакет обновления провалится, возникает следующая ошибка:

Error: The file provided is not a valid GitHub Enterprise Server package.

Рассмотрение неподдерживаемых версий

GitHub Настоятельно рекомендую как можно скорее обновиться до поддерживаемой версии.

Версии GitHub Enterprise Server до 3.16 не переподписываются новым ключом GPG. Если у вас версия 3.13 или раньше, вы не сможете вращать публичный ключ GPG, пока не окажетесь хотя бы на версии 3.14. Если вы вращаете публичный ключ GPG до обновления как минимум до версии 3.14, вы не сможете установить обновления, так как предыдущий публичный ключ GPG будет удален из вашего GitHub Enterprise Server экземпляра.

Для поиска правильного пути улучшения используйте .Помощник по обновлению

Необходимые условия

  • SSH-доступ к вашему GitHub Enterprise Server инстансу. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).
  • Ваш экземпляр должен иметь возможность связаться enterprise.github.com с HTTPS, чтобы скачать скрипт ротации. Если ваш экземпляр находится за ограничивающим файрволом или в воздушной среде, скачайте скрипт с внешнего компьютера и вручную перенесите его на устройство.

Вращение ключа подписи на экземпляре с одним узлом

  1. Подключитесь к своему GitHub Enterprise Server инстансу через SSH.

  2. Скачайте скрипт ротации, предоставленный GitHub.

    curl -fsSL https://enterprise.github.com/security/2026-05-24/rotate-gpg.sh -o rotate-gpg.sh
    
  3. Запустите сценарий ротации. Скрипт должен запускаться дважды: один раз как admin пользователь и один раз с sudo, потому что ключ хранится как в админской, так и в корневой учетной записи.

    chmod ug+x ./rotate-gpg.sh
    ./rotate-gpg.sh
    sudo ./rotate-gpg.sh
    
  4. Проверьте успешное завершение ротации. Каждый запуск скрипта печатает подтверждающее сообщение с новым отпечатком ключа.

Вращение ключа подписи на топологиях HA или кластера

Для экземпляров, настроенных с высокой доступностью или кластеризацией, ключ должен вращаться на каждом узле.

  1. Подключайтесь к любому узлу в вашей антенной или кластерной установке через SSH.

  2. Скачайте скрипт ротации, предоставленный GitHub.

    curl -fsSL https://enterprise.github.com/security/2026-05-24/rotate-gpg.sh -o rotate-gpg.sh
    
  3. Выполните указанные ниже команды. Команда ghe-cluster-each копирует скрипт на все узлы и запускает его на всех узлах.

    ghe-cluster-each -- chmod ug+x ./rotate-gpg.sh
    ghe-cluster-each -- ./rotate-gpg.sh
    ghe-cluster-each -- sudo ./rotate-gpg.sh
    
  4. Проверьте успешное завершение вращения на каждом узле.

Проверка текущего ключа подписи

Чтобы проверить, какой GPG-ключ уже установлен на вашем экземпляре, подключитесь через SSH и запустите:

gpg --list-keys --keyid-format long

На выходе отображается отпечаток ключа в брелок. Сравните отпечаток пальца с ожидаемым значением, опубликованным, GitHub чтобы убедиться, что вращение было применено правильно.

Чего ожидать после вращения ключа

После вращения ключа подписи:

  • Ваш инстанс продолжает работать нормально. Простой пользователей не требуется.
  • Ранее загруженные пакеты обновления, подписанные предыдущим ключом, не пройдут проверку. Скачайте последний доступный патч, чтобы получить пакет, подписанный новым ключом.
  • Скачивайте GitHub Enterprise Server обновления только с официальной страницы релизов. Для получения дополнительной информации см. GitHub Enterprise Server релизы.

Возврат вращения клавиши

Скрипт вращения удаляет предыдущий ключ из кольца ключей GPG перед импортом нового ключа. Нет встроенного способа отменить вращение.

Если вам нужна помощь с возвращением ключа или восстановлением после неудачного апгрейда, свяжитесь Служба поддержки GitHubс .