Сведения о подписи веб-фиксации
Если вы включите подписывание веб-фиксации, GitHub Enterprise Server автоматически будет использовать GPG для подписывания пользователей в веб-интерфейсе ваш экземпляр GitHub Enterprise Server. Фиксации, подписанные GitHub Enterprise Server, будут иметь проверенное состояние. Дополнительные сведения см. в разделе Сведения о проверке подписи фиксации.
Можно включить подпись веб-фиксации, сменить закрытый ключ, используемый для подписи веб-фиксации, и отключить подпись веб-фиксации.
Включение подписи веб-фиксации
-
В административной оболочке создайте ключ PGP. Запишите адрес электронной почты и идентификатор ключа.
Bash gpg --full-generate-key --pinentry-mode=loopback
gpg --full-generate-key --pinentry-mode=loopback
- Используйте тип ключа по умолчанию и по крайней мере
4096
бит без истечения срока действия. - Используйте
web-flow
в качестве имени пользователя. Еслиweb-flow
он недоступен или недоступен, используйте любое новое уникальное имя пользователя. Используйте это имя пользователя на протяжении следующих действий в этой статье. - Если у вас есть адрес электронной почты, с которого вы не отвечаете на входящие сообщения, определенный в Консоль управления, используйте этот адрес. В противном случае используйте любой адрес электронной почты, например
web-flow@my-company.com
. Адрес электронной почты не обязательно должен быть действительным. - Ключ PGP не может быть защищен парольной фразой.
- Используйте тип ключа по умолчанию и по крайней мере
-
Определите ключ в качестве переменной среды для 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}')"
ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
-
Обновите параметры для службы подписывания фиксации 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
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
-
Включите о подпись веб-фиксации.
Bash ghe-config app.github.web-commit-signing-enabled true
ghe-config app.github.web-commit-signing-enabled true
-
Создайте пользователя на ваш экземпляр GitHub Enterprise Server с помощью встроенной проверки подлинности или внешней проверки подлинности. Дополнительные сведения см. в разделе Сведения об управлении удостоверениями и доступом.
- Имя пользователя должно совпадать с именем пользователя, которое вы использовали при создании ключа PGP на шаге 1 выше, например
web-flow
. - Адрес электронной почты пользователя должен совпадать с адресом, используемым при создании ключа PGP.
- Имя пользователя должно совпадать с именем пользователя, которое вы использовали при создании ключа PGP на шаге 1 выше, например
-
Выполните следующую команду, заменив KEY-ID идентификатором ключа PGP.
Bash gpg --armor --export KEY-ID
gpg --armor --export KEY-ID
-
Скопируйте ключ PGP, начиная с
-----BEGIN PGP PUBLIC KEY BLOCK-----
и заканчивая-----END PGP PUBLIC KEY BLOCK-----
. -
Войдите в GitHub Enterprise Server в качестве пользователя, созданного для подписи веб-фиксации, например
web-flow
. -
Добавьте открытый ключ PGP в профиль пользователя. Дополнительные сведения см. в разделе Добавление ключа GPG в учетную запись GitHub.
Note
Не удаляйте другие открытые ключи из списка ключей GPG. Если открытый ключ удален, все фиксации, подписанные соответствующим закрытым ключом, больше не будут помечены как проверенные.
-
В учетной записи администратора GitHub Enterprise Server, в правом верхнем углу любой страницы щелкните .
-
Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.
-
На боковой панели " "Администратор сайта" щелкните Консоль управления.
-
На боковой панели "Параметры" щелкните "Электронная почта".
-
В разделе "Адрес электронной почты без ответа" введите тот же адрес электронной почты, который использовался при создании ключа PGP.
Note
Поле "Адрес электронной почты без ответа" будет отображаться только в том случае, если вы включили электронную почту для ваш экземпляр GitHub Enterprise Server. Дополнительные сведения см. в разделе Настройка электронной почты для получения уведомлений.
-
На боковой панели "Параметры" нажмите кнопку "Сохранить параметры".
Note
Сохранение параметров в Консоль управления перезапускает системные службы, что может привести к простоям, видимым пользователем.
-
Подождите завершения запуска конфигурации.
Смена закрытого ключа, используемого для подписи веб-фиксации
-
В административной оболочке создайте ключ PGP. Запишите адрес электронной почты и идентификатор ключа.
Bash gpg --full-generate-key --pinentry-mode=loopback
gpg --full-generate-key --pinentry-mode=loopback
- Используйте тип ключа по умолчанию и по крайней мере
4096
бит без истечения срока действия. - Например,
web-flow
используйте имя пользователя для подписывания веб-фиксации. - Используйте адрес электронной почты без ответа, определенный в Консоль управления, который должен совпадать с адресом электронной почты пользователя подписывания веб-фиксации, например
web-flow
. - Ключ PGP не может быть защищен парольной фразой.
- Используйте тип ключа по умолчанию и по крайней мере
-
Определите ключ в качестве переменной среды для 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}')"
ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
-
Обновите параметры для службы подписывания фиксации 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
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
-
Выполните следующую команду, заменив KEY-ID идентификатором ключа PGP.
Bash gpg --armor --export KEY-ID
gpg --armor --export KEY-ID
-
Скопируйте ключ PGP, начиная с
-----BEGIN PGP PUBLIC KEY BLOCK-----
и заканчивая-----END PGP PUBLIC KEY BLOCK-----
. -
Войдите в GitHub Enterprise Server в качестве пользователя, созданного для подписи веб-фиксации, например
web-flow
. -
Добавьте открытый ключ PGP в профиль пользователя. Дополнительные сведения см. в разделе Добавление ключа GPG в учетную запись GitHub.
Note
Не удаляйте другие открытые ключи из списка ключей GPG. Если открытый ключ удален, все фиксации, подписанные соответствующим закрытым ключом, больше не будут помечены как проверенные.
Выключение подписи веб-фиксации
Вы можете отключить подписывание веб-фиксации для ваш экземпляр GitHub Enterprise Server.
-
В административной оболочке выполните следующую команду.
Bash ghe-config app.github.web-commit-signing-enabled false
ghe-config app.github.web-commit-signing-enabled false
-
Примените конфигурацию.
Bash ghe-config-apply
ghe-config-apply