man/src/GIT-ssh-sign.md
2024-11-07 02:36:02 +03:00

1.5 KiB

SSH подпись

Как мы знаем в GIT можно указать любое имя пользователя и почтовый адрес.

Для достоверной идентификации автора существует возможность цифровой подписи коммитов.

Подписывать коммиты будем тем же самым ключом SSH который мы использовали ранее для работы с удаленными репозиториями.

Используем SSH для подписи:

git config --global gpg.format ssh

Добавляем открытый ключ для подписи:

git config --global user.signingkey ~/.ssh/id_rsa.pub

Чтобы верифицировать подписи локально, нужно создать файл с доверенными ключами...

echo "$(git config --get user.name) $(cat ~/.ssh/id_ed25519.pub)" >> ~/.ssh/allowed_signers

и указать на него GIT:

git config --global gpg.ssh.allowedSignersFile ~/.ssh/allowed_signers

Для автоматической подписи коммитов и тэгов:

git config --global commit.gpgsign true
git config --global tag.gpgsign true