35 lines
1.4 KiB
Markdown
35 lines
1.4 KiB
Markdown
# SSH подпись
|
|
|
|
Как мы знаем в GIT можно указать любое имя пользователя и почтовый адрес.
|
|
|
|
Для достоверной идентификации автора существует возможность цифровой подписи коммитов.
|
|
|
|
Подписывать коммиты будем тем же самым ключом SSH который мы использовали ранее для работы с удаленными репозиториями.
|
|
|
|
<!-- https://dev.to/ccoveille/git-the-complete-guide-to-sign-your-commits-with-an-ssh-key-35bg -->
|
|
|
|
Используем 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
|
|
``` |