Предоставление GIT информации о ключе GPG
Если вы используете ключ GPG, соответствующий удостоверению фиксации и проверенного адреса электронной почты, связанного с вашей учетной записью на GitHub.com, вы можете начать фиксации подписей и теги подписи.
Note
Если у вас нет ключа GPG, соответствующего вашему удостоверению автора фиксаций, необходимо связать адрес электронной почты с существующим ключом. Дополнительные сведения см. в разделе Связывание адреса электронной почты с ключом GPG.
Если у вас несколько ключей GPG, необходимо указать GIT, какой из них следует использовать.
-
Откройте Терминал .
-
Если вы ранее настроили Git для использования другого формата ключа при подписании
--gpg-sign
с помощью этой конфигурации, не укажите этот формат, чтобы будет использоваться форматopenpgp
по умолчанию.git config --global --unset gpg.format
-
Команда
gpg --list-secret-keys --keyid-format=long
позволяет получить длинную форму ключей GPG, для которых у вас есть открытый и закрытый ключ. Закрытый ключ необходим для подписания фиксаций или тегов.Shell gpg --list-secret-keys --keyid-format=long
gpg --list-secret-keys --keyid-format=long
Note
Для некоторых установок GPG в Linux может потребоваться
gpg2 --list-keys --keyid-format LONG
просмотреть список существующих ключей. В этом случае также нужно будет настроить Git для использованияgpg2
, выполнивgit config --global gpg.program gpg2
. -
Из списка ключей GPG скопируйте длинную форму идентификатора ключа GPG, который вы хотите использовать. В этом примере идентификатором ключа GPG является
3AA5C34371567BD2
:Shell $ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot <hubot@example.com> ssb 4096R/4BB6D45482678BE3 2016-03-10
$ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot <hubot@example.com> ssb 4096R/4BB6D45482678BE3 2016-03-10
-
Чтобы задать первичный ключ подписи GPG в Git, вставьте приведенный ниже текст, подставив идентификатор первичного ключа GPG, который вы хотите использовать. В этом примере идентификатором ключа GPG является
3AA5C34371567BD2
:git config --global user.signingkey 3AA5C34371567BD2
Кроме того, может потребоваться использовать вложенный ключ. В этом примере идентификатором подраздела GPG является
4BB6D45482678BE3
:git config --global user.signingkey 4BB6D45482678BE3
Если вы используете несколько ключей и вложенных ключей, следует добавить восклицательный знак
!
к ключу, чтобы сообщить git, что это ваш предпочтительный ключ. Иногда может потребоваться экранировать восклицательный знак с косой чертой:\!
-
При необходимости, чтобы настроить Git для подписывания всех фиксаций и тегов по умолчанию, введите следующую команду:
git config --global commit.gpgsign true git config --global tag.gpgSign true
Дополнительные сведения см. в разделе Подписание фиксаций.
-
Чтобы добавить ключ GPG в файл запуска
.bashrc
, выполните следующую команду:[ -f ~/.bashrc ] && echo -e '\nexport GPG_TTY=$(tty)' >> ~/.bashrc
Предоставление Git информации о ключе SSH
Существующий ключ SSH можно использовать для подписывания фиксаций и тегов или создания нового ключа специально для подписывания. Дополнительные сведения см. в разделе Создание нового ключа SSH и его добавление в ssh-agent.
Note
Проверка подписи SSH доступна в Git 2.34 или более поздней версии. Сведения об обновлении версии Git см. на веб-сайте Git.
-
Откройте Терминал .
-
Настройте Git, чтобы использовать SSH для подписывания фиксаций и тегов:
git config --global gpg.format ssh
-
Чтобы задать ключ подписи SSH в Git, вставьте приведенный ниже текст, заменив /PATH/TO/. SSH/KEY. PUB с путем к открытому ключу, который вы хотите использовать.
git config --global user.signingkey /PATH/TO/.SSH/KEY.PUB