Подпись коммитов git ключом ssh
Подпись коммитов git ключом ssh.
Содержание
1 Общая информация
- В git можно производить подпись коммитов с помощью ssh-ключа.
2 Подпись коммитов git ключом ssh
2.1 Ключ для подписи
- Создадим ключ для подписи коммитов:
1ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519-git -C "your_email@example.com"
- Добавляем ключ в агент (см. Агенты для хранения ключей):
1ssh-add ~/.ssh/id_ed25519-git
- Добавьте ключ в учётную запись github (см. github: утилиты командной строки):
2.2 Настройка подписи ключом ssh
Настроим подписывание в git:
Получим список ключей (используя агент хранения ключей, Агенты для хранения ключей):
1ssh-add -L
Указываем ключ:
1git config --global user.signingkey "ssh-ed25519 <key_id>"
Для проверки работы подписывания запустите команду в любом из ваших репозиториев:
1git commit --allow-empty --message="Testing SSH signing"
2.3 Доверенные подписи
Проверим созданный коммит:
1git show --show-signature
Git не видит подписи.
Необходимо внести ключ в список доверенных подписантов.
Сконфигурируем git:
Формат этого файла:
1<email>[,<email>...] <key_type> <public_key>
Добавляем ключ в файл:
1echo "<user_email> ssh-ed25519 <key_id>" > ~/.ssh/authorized_signatures
3 Итоговый ~/config/git/config
- В файле
~/config/git/config
должно будет появиться следующее: