ssh-sign start

This commit is contained in:
Роман Аникеев 2024-11-07 02:20:51 +03:00
parent 5e6547886d
commit edcf971b4f
Signed by: ARNik
SSH Key Fingerprint: SHA256:F1x9evuaS3PplG/HMbbzAvakgX0qxDsYIqRqw75cQhE
2 changed files with 36 additions and 0 deletions

View File

@ -4,6 +4,7 @@
* [Установка GIT в windows](src/GIT-install-win.md)
* [Конфигурация GIT](src/GIT-config.md)
* [SSH авторизация по ключам](src/SSH-key-auth-win.md)
* [SSH подпись](src/GIT-ssh-sign.md)
* [Установка TortoiseGit](src/TortoiseGit.md)
* [GIT в Bash](src/GIT-Bash.md)
* [VS Code](src/VS-Code.md)

35
src/GIT-ssh-sign.md Normal file
View File

@ -0,0 +1,35 @@
# SSH подпись
Как мы знаем в GIT можно указать любое имя пользователя и почтовый адрес.
Для достоверной идентификации автора существует возможность цифровой подписи коммитов.
Подписывать коммиты будем тем же самым ключом SSH который мы использовали ранее для работы с удаленными репозиториями.
<!-- https://dev.to/ccoveille/git-the-complete-guide-to-sign-your-commits-with-an-ssh-key-35bg -->
Используем SSH для подписи:
```sh
git config --global gpg.format ssh
```
Добавляем открытый ключ для подписи:
```sh
git config --global user.signingkey ~/.ssh/id_rsa.pub
```
Чтобы верифицировать подписи локально, нужно создать файл с доверенными ключами...
```sh
echo "$(git config --get user.name) namespaces=\"git\" $(cat ~/.ssh/id_ed25519.pub)" >> ~/.ssh/allowed_signers
```
и указать на него GIT:
```sh
git config --global gpg.ssh.allowedSignersFile ~/.ssh/allowed_signers
```
Для автоматической подписи коммитов и тэгов:
```sh
git config --global commit.gpgsign true
git config --global tag.gpgsign true
```