GIT подписанные теги и парольная фраза
Как я могу сделать, чтобы git автоматически вводил мою фразу-пароль, когда я подписывал теги. Есть ли такая опция, как - пароль "моя длинная фраза", я пытался использовать ssh-keygen, но это не помогло.
Репозиторий на локальном и все делается локально.
3 ответа
На случай, если кому-то было интересно, я нашел способ решить свою проблему.
1. Создайте новый / usr / bin / gpg-with-passphrase с этим содержимым
/usr/bin/gpg --passphrase "My Really Long passphrase" --batch --no-tty "$@"
2. создайте новый исполняемый файл / usr / bin / gpg-with-passphrase
chmod 755 /usr/bin/gpg-with-passphrase
3. добавить эту опцию в git config
git config gpg.program "/usr/bin/gpg-with-passphrase"
используйте "--global" для глобального
таким образом, мне не нужно вводить свою длинную фразу-пароль каждый раз, когда я подписываю тег.
Как говорит mipadi, запрашивается пароль вашего ключа GPG. Вы действительно не хотите этого в своей командной строке, как вы предлагаете, так как это может сделать ее видимой для других пользователей и, следовательно, поставить под угрозу вашу безопасность. Зная это, создатели gpg и git не позволяют вам так выстрелить себе в ногу. Конечно, это вызывает вопрос о том, как сделать это в автоматическом режиме, чтобы вы не убили себя, набрав свой пароль сто раз.
gpg-agent
очень полезно для этого. Вам может потребоваться установить это отдельно от gpg (например, в Ubuntu вам нужен пакет gnupg-agent
). Затем убедитесь, что ~/.gnupg/gpg.conf
содержит строку (без комментариев):
use-agent
С установленным gpg-agent ваша система может автоматически вызывать его для вас. Если переменная среды GPG_AGENT_INFO
определяется, тогда вы хорошо идти. В противном случае запустите агент:
eval $(gpg-agent --daemon --sh)
(Это для bash; отрегулируйте так, как требуется для других оболочек.)
Теперь, когда вам нужно разблокировать ваш ключ GPG, вы должны получить всплывающее окно (или какой-либо другой способ) для ввода вашего пароля. После ввода вам не нужно вводить его снова, так как все остальные запросы будут отправлены агенту, который уже разблокировал ваш ключ.
Вас просят ввести пароль брелка GPG, а не пароль SSH. Введите, чем вместо.