#git #gnupg #git-push #git-sign
#мерзавец #gnupg #git-толчок #git-знак
Вопрос:
Я пытаюсь настроить свой частный git SSH-сервер на прием push-запросов, подписанных GPG.
Я пытался следовать инструкциям Константина: https://people.kernel.org/monsieuricon/signed-git-pushes
На моем серверном компьютере я настроил config
файл репозитория git на моем сервере, как рекомендовал Константин:
[core]
repositoryformatversion = 0
filemode = true
bare = true
[receive]
advertisePushOptions = true
certNonceSeed = "<nonce seed here>"
[push]
gpgSign = true
На моем сервере и клиентском компьютере я настроил следующее:
git config receive.certNonceSeed "<nonce seed here>"
Я выполняю следующие команды на своем клиентском компьютере:
git add -A
git commit -S -m "Message here"
git push origin main --signed --repo=ssh://url_of_server:/path/to/repo
Но git выводит следующее сообщение об ошибке:
fatal: the receiving end does not support --signed push
Когда я печатаю git-receive-pack ../RaiderHacks/
на своем сервере, git выводит следующее:
Я просмотрел документацию по использованию git push man git-push
man git-receive-pack
и все еще в замешательстве.
Я просто пытаюсь убедиться, что я могу GPG-подписывать свои push-запросы git с помощью закрытого ключа GPG, который я установил с помощью параметра user.signingkey
config
Комментарии:
1. Если это ваш частный сервер, то вы на самом деле не получаете никакой выгоды от включения подписанных git-запросов. Это сервис, который лучше всего подходит для среды общего хостинга. В целом, эти настройки должны включить для вас подписанные push-запросы — если это не работает, я предлагаю вам проверить, достаточно ли новая версия git на вашем сервере для их поддержки.
2. Спасибо за ответ, mricon. Я просто решил клонировать новый репозиторий. На этот раз ветка, в которой я был, была главной веткой по умолчанию. Итак, как только я установил для конфигурации git config push.gpgSign значение true, а для конфигурации git receive.certNonceSeed фактическое начальное значение, git push не сообщил об ошибках. На самом деле я делаю это в образовательных целях, поскольку GPG подписывает git push-запросы — это новая функция. У меня только один вопрос, как лучше всего проверить GPG подписанные git-запросы?