Noleron Git
| Ця стаття описує сервіс Project Noleron. Інформація на сторінці стосується призначення, можливостей або використання одного із сервісів Noleron. |
Noleron Git — Git-сервіс Noleron на базі Forgejo.
Ця сторінка пояснює, як налаштувати GPG-підпис комітів і додати відкритий ключ до облікового запису Forgejo.
Встановлення інструментів
Windows
Встановіть Gpg4win і перевірте, що Git використовує потрібну версію GPG:
git config --global gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg.exe"
macOS
brew install gpg2 gnupg pinentry-mac mkdir -p ~/.gnupg echo "pinentry-program $(brew --prefix)/bin/pinentry-mac" >> ~/.gnupg/gpg-agent.conf echo "use-agent" >> ~/.gnupg/gpg.conf echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile
Для Zsh використовуйте ~/.zprofile замість ~/.bash_profile.
Створення GPG-ключа
gpg --full-generate-key
Рекомендовані параметри:
- тип ключа: RSA and RSA;
- розмір: 4096;
- термін дії: 0 — безстроковий ключ;
- ім’я та email: ті самі, що використовуються в Git;
- парольна фраза: довга й унікальна.
Перегляньте ключі та знайдіть свій ідентифікатор:
gpg --list-secret-keys --keyid-format LONG
У подальших командах замініть KEYID на свій ідентифікатор.
Щоб експортувати відкритий ключ:
gpg --armor --export KEYID
Секретний ключ нікому не передавайте.
Імпорт наявного ключа
gpg --import my-key.asc gpg --edit-key KEYID
У консолі GPG виконайте:
trust 5 quit
Додавання ключа до Forgejo
- Експортуйте відкритий ключ командою
gpg --armor --export KEYID. - Відкрийте налаштування профілю у Forgejo.
- Перейдіть до розділу SSH / GPG Keys або відповідного розділу ключів.
- Додайте повний текст відкритого ключа.
- Переконайтеся, що email ключа збігається з email автора комітів.
Налаштування Git
git config --global user.signingkey KEYID git config --global commit.gpgsign true
Для одного коміту:
git commit -S -m "Підписаний коміт"
Перевірити підпис локально:
git log --show-signature -1 git verify-commit HEAD
Кешування парольної фрази
Windows
У Kleopatra відкрийте Settings → Configure Kleopatra → GnuPG System → Private Keys і встановіть кешування PIN на 28800 секунд.
macOS
Під час першого підпису дозвольте зберігання парольної фрази в системному Keychain, якщо довіряєте цьому комп’ютеру.
Ubuntu та інші Linux
mkdir -p ~/.gnupg echo "default-cache-ttl 28800" >> ~/.gnupg/gpg-agent.conf gpgconf --reload gpg-agent
Перевірка у Forgejo
Створіть тестовий підписаний коміт і відправте його до репозиторію. У Forgejo коміт має відображатися як Verified.
Якщо підпис не перевіряється, перевірте:
- email у Git збігається з email GPG-ключа;
- до Forgejo додано саме відкритий ключ;
user.signingkeyмістить правильнийKEYID;- локально працює
gpg --verify; - дата й термін дії ключа актуальні.
Безпека ключа
- Зберігайте резервну копію секретного ключа офлайн.
- За можливості використовуйте апаратний ключ, наприклад YubiKey.
- Не передавайте секретний ключ через email, чати або незашифровані файли.
- Не публікуйте парольну фразу.