Перейти до вмісту

Noleron Git: відмінності між версіями

Матеріал з Noleron Wiki
Lesyk (обговорення | внесок)
Відновлено стан до карток сервісів
Мітка: Ручний відкіт
 
Lesyk (обговорення | внесок)
Уніфіковано форматування кодових фрагментів
Рядок 24: Рядок 24:
echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile</pre>
echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile</pre>


Для Zsh використовуйте `~/.zprofile` замість `~/.bash_profile`.
Для 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>


У подальших командах замініть `KEYID` на свій ідентифікатор.
У подальших командах замініть <code>KEYID</code> на свій ідентифікатор.


Щоб експортувати '''відкритий''' ключ:
Щоб експортувати '''відкритий''' ключ:
Рядок 63: Рядок 63:
== Додавання ключа до Forgejo ==
== Додавання ключа до Forgejo ==


# Експортуйте відкритий ключ командою `gpg --armor --export KEYID`.
# Експортуйте відкритий ключ командою <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 на `28800` секунд.
У 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 додано саме відкритий ключ;
* `user.signingkey` містить правильний `KEYID`;
* <code>user.signingkey</code> містить правильний <code>KEYID</code>;
* локально працює `gpg --verify`;
* локально працює <code>gpg --verify</code>;
* дата й термін дії ключа актуальні.
* дата й термін дії ключа актуальні.



Версія за 13:34, 13 вересня 2026


NoleronЦя стаття описує сервіс 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

  1. Експортуйте відкритий ключ командою gpg --armor --export KEYID.
  2. Відкрийте налаштування профілю у Forgejo.
  3. Перейдіть до розділу SSH / GPG Keys або відповідного розділу ключів.
  4. Додайте повний текст відкритого ключа.
  5. Переконайтеся, що 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, чати або незашифровані файли.
  • Не публікуйте парольну фразу.

Додаткові матеріали