# SSH подпись Как мы знаем в GIT можно указать любое имя пользователя и почтовый адрес. Для достоверной идентификации автора существует возможность цифровой подписи коммитов. Подписывать коммиты будем тем же самым ключом SSH который мы использовали ранее для работы с удаленными репозиториями. Чтобы верифицировать подписи локально, нужно создать файл с доверенными ключами... ``` echo "$(git config --get user.name) $(cat ~/.ssh/id_rsa.pub)" >> ~/.ssh/allowed_signers ``` Добавляем соответствующие настройки в GIT: ``` git config --global gpg.format ssh # Включаем SSH для подписи git config --global user.signingkey "~/.ssh/id_rsa.pub" # Добавляем открытый ключ git config --global gpg.ssh.allowedSignersFile "~/.ssh/allowed_signers" # Добавляем файл доверенных подписей git config --global commit.gpgsign true # Автоподпись для коммитов git config --global tag.gpgsign true # Автоподпись для тэгов ``` Таким образом мой файл .gitconfig теперь выглядит так: ``` [user] name = ARNik email = r.anikeev@gmail.com signingkey = ~/.ssh/id_rsa.pub [color] ui = true [core] quotepath = off # отображение русских имен файлов [alias] ll = log --oneline --graph --decorate --all st = status --short co = checkout br = branch ct = commit lg = log --graph --all\ --pretty=format:'%Cred%h%Creset -%C(auto)%d %Creset%s %Cgreen(%cr) %C(bold blue)<%an>%Creset' [gpg] format = ssh [gpg "ssh"] allowedSignersFile = ~/.ssh/allowed_signers [commit] gpgsign = true [tag] gpgsign = true ```