Подписанные GPG коммиты на GitHub - это безопасный способ обеспечить обновление и целостность вашего вклада в репозиторий.
Оглавление
ШАГ 0: первая установка GPG
Для наиболее простой установки GPG следует использовать менеджер пакетов Homebrew. Подобно менеджерам пакетов apt или rpm в Linux, он позволяет выполнить быструю установку в одну строку.
brew install gnupg
Проверка установки
gpg --version
💡 ПРИМЕЧАНИЕ: Если вы используете Linux, просто используйте apt get вместо brew, если вы используете Windows, ищите в Google.
Шаг 1: Проверка существующих ключей GPG
Прежде чем создавать новый GPG-ключ, следует проверить, есть ли у вас уже такой ключ. Используйте следующую команду для получения списка ключей GPG:
gpg --list-secret-key --keyid-format LONG
💡 ПРИМЕЧАНИЕ: Если ничего не отображается, это означает, что у вас еще нет ни одного ключа.
Шаг 2: Создание нового ключа GPG
Если у вас нет ключа GPG или вы хотите создать новый, выполните следующие действия:
gpg --full-generate-key
Вам будет предложено сделать несколько вариантов:
- Тип ключа: Мы рекомендуем RSA.
- Размер ключа: Как правило, безопасным является 4096 бит.
- Срок действия ключа: Выберите параметр, наиболее соответствующий вашим потребностям. Например, '0' - никогда не истекает или '1y' - один год.
- Настоящее имя: Ваше имя.
- Адрес электронной почты: Адрес электронной почты, связанный с вашей учетной записью GitHub.
- Комментарий: Дополнительный комментарий.
- Подтвердите свой выбор.
Вам будет предложено создать пароль и подтвердить его.
Шаг 3: Экспорт ключа GPG
Теперь экспортируйте ключ GPG в формате ASCII, чтобы добавить его в GitHub:
gpg --armor --export <Key ID>
💡 ПРИМЕЧАНИЕ: Замените идентификатор GPG-ключа, который вы хотите экспортировать.
Шаг 4: Добавление GPG-ключа в GitHub
Зайдите на GitHub, перейдите к настройкам своего профиля и нажмите кнопку “GPG Keys” в левом меню. Вставьте в это поле ключ GPG, экспортированный в предыдущем шаге, и нажмите кнопку ”Добавить ключ GPG”.
Шаг 5: Настройка Git
Теперь настройте Git на использование вашего GPG-ключа для подписи коммитов. Для этого выполните следующие команды:
git config --global user.signingkey <Key ID>
💡 ПРИМЕЧАНИЕ: Замените идентификатор GPG-ключа, который вы хотите экспортировать.
Вам нужно экспортировать переменную GPG_TTY, поэтому не нужно делать это каждый раз, просто отредактируйте свой профиль bash (в моем случае я использую .bashrc) и вставьте это:
export GPG_TTY=$(tty)
Шаг 6: Включение автоматической подписи коммитов и тегов
Включите автоматическую подпись коммитов и тегов с помощью следующих команд:
git config --global commit.gpgsign true
git config --global tag.gpgsign true
Шаг 7: Проверка подписи фиксации
Проверить подпись фиксации можно с помощью следующей команды:
git log --show-signature -1
На экране появится информация о фиксации и связанной с ней GPG-подписи.
💡 ПРИМЕЧАНИЕ: вы должны находиться в каталоге, в котором запущен git.
Шаг 8: Настройка других адресов электронной почты
Если вы хотите подписывать коммиты с помощью других адресов электронной почты, выполните следующие действия:
gpg --edit-key <Key ID>
💡 ПРИМЕЧАНИЕ: Замените на идентификатор GPG-ключа, который вы хотите экспортировать.
Эта команда откроет новый интерфейс, позволяющий добавить новые возможности
adduid
Затем следуйте инструкциям по добавлению нового имени и адреса электронной почты. Вы также можете настроить доверие для новой идентификации.
uid 2
💡 ПРИМЕЧАНИЕ: Вы видите, что теперь отмечена другая опция.
Теперь введите команду trust и следуйте инструкциям.Пример: trust option 5 = I trust ultimately and y
После добавления дополнительных идентификаторов не забудьте сохранить изменения с помощью команды save.
save
Спасибо за прочтение!