Skip to main content

Эта версия GitHub Enterprise Server была прекращена 2024-09-25. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, повышения безопасности и новых функций выполните обновление до последней версии GitHub Enterprise Server. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Настройка подписи веб-фиксации

Вы можете включить автоматическую подпись фиксаций, сделанных в веб-интерфейсе GitHub Enterprise Server.

Кто может использовать эту функцию?

Site administrators

Сведения о подписи веб-фиксации

Если вы включите подписывание веб-фиксации, GitHub Enterprise Server автоматически будет использовать GPG для подписывания пользователей в веб-интерфейсе ваш экземпляр GitHub Enterprise Server. Фиксации, подписанные GitHub Enterprise Server, будут иметь проверенное состояние. Дополнительные сведения см. в разделе Сведения о проверке подписи фиксации.

Можно включить подпись веб-фиксации, сменить закрытый ключ, используемый для подписи веб-фиксации, и отключить подпись веб-фиксации.

Включение подписи веб-фиксации

  1. В административной оболочке создайте ключ PGP. Запишите адрес электронной почты и идентификатор ключа.

    Bash
    gpg --full-generate-key --pinentry-mode=loopback
    
    • Используйте тип ключа по умолчанию и по крайней мере 4096 бит без истечения срока действия.
    • Используйте web-flow в качестве имени пользователя. Если web-flow он недоступен или недоступен, используйте любое новое уникальное имя пользователя. Используйте это имя пользователя на протяжении следующих действий в этой статье.
    • Если у вас есть адрес электронной почты, с которого вы не отвечаете на входящие сообщения, определенный в Консоль управления, используйте этот адрес. В противном случае используйте любой адрес электронной почты, например web-flow@my-company.com. Адрес электронной почты не обязательно должен быть действительным.
    • Ключ PGP не может быть защищен парольной фразой.
  2. Определите ключ в качестве переменной среды для GitHub Enterprise Server, заменив <YOUR-KEY-ID> идентификатором ключа GPG.

    Bash
    ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
    
  3. Обновите параметры для службы подписывания фиксации GitHub.

    Bash
    sudo consul-template -once -template /etc/consul-templates/etc/nomad-jobs/gpgverify/gpgverify.hcl.ctmpl:/etc/nomad-jobs/gpgverify/gpgverify.hcl
     
    nomad job run /etc/nomad-jobs/gpgverify/gpgverify.hcl
    
  4. Включите о подпись веб-фиксации.

    Bash
    ghe-config app.github.web-commit-signing-enabled true
    
  5. Создайте пользователя на ваш экземпляр GitHub Enterprise Server с помощью встроенной проверки подлинности или внешней проверки подлинности. Дополнительные сведения см. в разделе Сведения об управлении удостоверениями и доступом.

    • Имя пользователя должно совпадать с именем пользователя, которое вы использовали при создании ключа PGP на шаге 1 выше, например web-flow.
    • Адрес электронной почты пользователя должен совпадать с адресом, используемым при создании ключа PGP.
  6. Выполните следующую команду, заменив KEY-ID идентификатором ключа PGP.

    Bash
    gpg --armor --export KEY-ID
    
  7. Скопируйте ключ PGP, начиная с -----BEGIN PGP PUBLIC KEY BLOCK----- и заканчивая -----END PGP PUBLIC KEY BLOCK-----.

  8. Войдите в GitHub Enterprise Server в качестве пользователя, созданного для подписи веб-фиксации, например web-flow.

  9. Добавьте открытый ключ PGP в профиль пользователя. Дополнительные сведения см. в разделе Добавление ключа GPG в учетную запись GitHub.

    Note

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

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

  11. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.

  12. На боковой панели " "Администратор сайта" щелкните Консоль управления.

  13. На боковой панели "Параметры" щелкните "Электронная почта".

  14. В разделе "Адрес электронной почты без ответа" введите тот же адрес электронной почты, который использовался при создании ключа PGP.

    Note

    Поле "Адрес электронной почты без ответа" будет отображаться только в том случае, если вы включили электронную почту для ваш экземпляр GitHub Enterprise Server. Дополнительные сведения см. в разделе Настройка электронной почты для получения уведомлений.

  15. На боковой панели "Параметры" нажмите кнопку "Сохранить параметры".

    Note

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

  16. Подождите завершения запуска конфигурации.

Смена закрытого ключа, используемого для подписи веб-фиксации

  1. В административной оболочке создайте ключ PGP. Запишите адрес электронной почты и идентификатор ключа.

    Bash
    gpg --full-generate-key --pinentry-mode=loopback
    
    • Используйте тип ключа по умолчанию и по крайней мере 4096 бит без истечения срока действия.
    • Например, web-flowиспользуйте имя пользователя для подписывания веб-фиксации.
    • Используйте адрес электронной почты без ответа, определенный в Консоль управления, который должен совпадать с адресом электронной почты пользователя подписывания веб-фиксации, например web-flow.
    • Ключ PGP не может быть защищен парольной фразой.
  2. Определите ключ в качестве переменной среды для GitHub Enterprise Server, заменив <YOUR-KEY-ID> идентификатором ключа GPG.

    Bash
    ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
    
  3. Обновите параметры для службы подписывания фиксации GitHub.

    Bash
    sudo consul-template -once -template /etc/consul-templates/etc/nomad-jobs/gpgverify/gpgverify.hcl.ctmpl:/etc/nomad-jobs/gpgverify/gpgverify.hcl
     
    nomad job run /etc/nomad-jobs/gpgverify/gpgverify.hcl
    
  4. Выполните следующую команду, заменив KEY-ID идентификатором ключа PGP.

    Bash
    gpg --armor --export KEY-ID
    
  5. Скопируйте ключ PGP, начиная с -----BEGIN PGP PUBLIC KEY BLOCK----- и заканчивая -----END PGP PUBLIC KEY BLOCK-----.

  6. Войдите в GitHub Enterprise Server в качестве пользователя, созданного для подписи веб-фиксации, например web-flow.

  7. Добавьте открытый ключ PGP в профиль пользователя. Дополнительные сведения см. в разделе Добавление ключа GPG в учетную запись GitHub.

    Note

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

Выключение подписи веб-фиксации

Вы можете отключить подписывание веб-фиксации для ваш экземпляр GitHub Enterprise Server.

  1. В административной оболочке выполните следующую команду.

    Bash
    ghe-config app.github.web-commit-signing-enabled false
    
  2. Примените конфигурацию.

    Bash
    ghe-config-apply