Я использую, gpg-agent
чтобы запомнить и предоставить свой GnuPG
пароль при сборке Debian/Ubuntu
пакетов. Но я все еще не понимаю, как gpg-agent
работает. Я призываю gpg-agent
как:
eval $(gpg-agent --daemon)
Иногда работает Но меня беспокоит то, что иногда это не работает. То есть иногда процесс сборки запрашивает мои GnuPG
пароли один раз, иногда нет, а иногда много раз. Все это происходит во время одной сессии bash, после того как я вызвал ее, gpg-agent
как и раньше. В этот раз отсутствие запроса пароля не гарантирует, что в следующий раз мне не будет предложено ввести пароль. Я до сих пор не понимаю, почему gpg
решает запросить у меня пароль, а почему нет.
Это случается и с тобой?
Спасибо
.authinfo.gpg
я получил подсказку для использованияgpg2
, чтоgpg-agent
связано с. Так(setq epg-gpg-program "/usr/bin/gpg2")
сработало для меня. Возможно, вам придется выяснить, какие из ваших приложений имеют проблему, они могут предпочитатьgpg
(1).Ответы:
Нашел, как правильно использовать
gpg-agent
от http://tr.opensuse.org/SDB:Using_gpg-agentПосле этого мой
gpg-agent
демонGnuPG
теперь правильно кэширует мои пароли. В моей настройке не было ничего плохого, просто я не знал, как проверить, правильно лиGnuPG
кэшируются мои пароли или нет.Теперь я делаю:
С сайта: «Замените 0xMYKEYID вашим идентификатором ключа GnuPG. При выполнении этой команды агент должен дважды открыть диалоговое окно с графическим паролем: сначала для подписи или шифрования (gpg -ase) (gpg -ase), а затем для расшифровки или проверки подписи ( | gpg). С этого момента каждый раз, когда используется GnuPG (из командной строки или встроенная в графическую программу, такую как KMail), пароль gpg-agent будет передаваться автоматически (до истечения времени ожидания или до графического интерфейса. закрыто)."
И чтобы избежать истечения срока действия кэширования, я установил очень большой период ожидания:
источник
--write-env-file "${HOME}/.gpg-agent-info"
при запуске gpg-agent, а затем добавить егоif [ -f "${HOME}/.gpg-agent-info" ]; then . "${HOME}/.gpg-agent-info"; export GPG_AGENT_INFO fi
в .bashrc, чтобы определить, запущен ли агент. Похоже, немного чище решение.WARNING: "--write-env-file" is an obsolete option - it has no effect
по крайней мереApr 4 '16
. Ссылка: serverfault.com/a/481174