Коммиты, подписанные на GITHUB с использованием ключа GPG

Коммиты, подписанные на GITHUB с использованием ключа GPG

Подписанные 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

Спасибо за прочтение!