fbpx

Настраиваем GPG-ключ для GitHub

3 минут(ы) чтения

В интернете каждый пользователь может оказаться котом, но только с не настроенным GPG-шифрованием

Одна из главных проблем сети www — невозможность верифицировать пользователя. На любом этапе передачи сообщения, можно вмешаться в трафик пользователя и подменить его сообщение на другое. Чтобы миновать это, используется шифрование сообщений. Для веб-сайтов это решается средствами защищенного формата HTTP в виде надстройки HTTPs, с помощью TLS сертификатов, выданных удостоверяющими центрами. Однако, сами удостоверяющие центры могут быть хакнуты или сертификат может быть заменен на уровне системы конечного пользователя. Чтобы избавиться от лишних прослоек и защитить свое сообщение в сети, например посредством передачи E-Mail или Git-коммита, я рекомендую использовать асимметричное шифрование GPG. О его настройке и пойдет далее речь.

Генерация ключа с утилитой GPG2

Скачиваем бинарь https://sourceforge.net/p/gpgosx/docu/Download/ или собираем утилиту из исходников.

Генерация ключа

gpg2 --full-gen-key

Затем придумываем свой passphrase. Он в дальнейшем нам понадобится для доступа к созданным ключам.

Пример интерфейса: установка настоящего имени и почты

В результате получаем отпечаток ключа. В моем случае это 9A9A4EF0EBFF0EAD8F90FC6F0D8AE20DCFB37AAD. Далее в тексте я буду использовать его.

Отображение публичного ключа

gpg2 --armor --export 9A9A4EF0EBFF0EAD8F90FC6F0D8AE20DCFB37AAD

Экспорт ключей

Крайне желательно экспортировать ваши ключи в файлы и сохранить их в безопасном месте.

Экспорт открытого ключа в файл

gpg2 --armor --export YOUR@EMAIL > mygpgkey.asc

Экспорта секретного ключа в файл

gpg2 --armor --export-secret-key YOUR@EMAIL > mysecretpgpkey.asc

Экспорт trustdb в текстовый файл

gpg --export-ownertrust > trustdb.txt

Настройка GPG подписи в Git

Вставляем весь публичный ключ в интфейс GitHub

Добавляем в настройки локального гита свою подпись

Важно! Не забудьте, что теперь ваши user.name и user.email в .gitconfig должны соответствовать тем, что были указаны при создании ключа.

git config --global user.signingkey 9A9A4EF0EBFF0EAD8F90FC6F0D8AE20DCFB37AAD
git config --global gpg.program gpg2
git config --global commit.gpgsign true

[Опционально можете сохранить ваш открытый ключ на своем сервере]

Для удобства передачи своего открытого ключа, вы можете оперировать гиперссылкой ссылающуюся на ваш блог. В моем случае это WordPress.

Пример загрузки открытого ключа на мой блог WordPress.

scp -r mygpgkey.asc root@baskovsky.ru:/var/www/html/wp-content/uploads/

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Добавить комментарий

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: