Noleron Git: відмінності між версіями
Lesyk (обговорення | внесок) Відновлено стан до карток сервісів Мітка: Ручний відкіт |
Lesyk (обговорення | внесок) Уніфіковано форматування кодових фрагментів |
||
| Рядок 24: | Рядок 24: | ||
echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile</pre> | echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile</pre> | ||
Для Zsh використовуйте | Для Zsh використовуйте <code>~/.zprofile</code> замість <code>~/.bash_profile</code>. | ||
== Створення GPG-ключа == | == Створення GPG-ключа == | ||
| Рядок 42: | Рядок 42: | ||
<pre>gpg --list-secret-keys --keyid-format LONG</pre> | <pre>gpg --list-secret-keys --keyid-format LONG</pre> | ||
У подальших командах замініть | У подальших командах замініть <code>KEYID</code> на свій ідентифікатор. | ||
Щоб експортувати '''відкритий''' ключ: | Щоб експортувати '''відкритий''' ключ: | ||
| Рядок 63: | Рядок 63: | ||
== Додавання ключа до Forgejo == | == Додавання ключа до Forgejo == | ||
# Експортуйте відкритий ключ командою | # Експортуйте відкритий ключ командою <code>gpg --armor --export KEYID</code>. | ||
# Відкрийте налаштування профілю у Forgejo. | # Відкрийте налаштування профілю у Forgejo. | ||
# Перейдіть до розділу '''SSH / GPG Keys''' або відповідного розділу ключів. | # Перейдіть до розділу '''SSH / GPG Keys''' або відповідного розділу ключів. | ||
| Рядок 86: | Рядок 86: | ||
=== Windows === | === Windows === | ||
У Kleopatra відкрийте '''Settings → Configure Kleopatra → GnuPG System → Private Keys''' і встановіть кешування PIN на | У Kleopatra відкрийте '''Settings → Configure Kleopatra → GnuPG System → Private Keys''' і встановіть кешування PIN на <code>28800</code> секунд. | ||
=== macOS === | === macOS === | ||
| Рядок 105: | Рядок 105: | ||
* email у Git збігається з email GPG-ключа; | * email у Git збігається з email GPG-ключа; | ||
* до Forgejo додано саме відкритий ключ; | * до Forgejo додано саме відкритий ключ; | ||
* | * <code>user.signingkey</code> містить правильний <code>KEYID</code>; | ||
* локально працює | * локально працює <code>gpg --verify</code>; | ||
* дата й термін дії ключа актуальні. | * дата й термін дії ключа актуальні. | ||
Версія за 13:34, 13 вересня 2026
| Ця стаття описує сервіс 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, чати або незашифровані файли.
- Не публікуйте парольну фразу.