是否可以配置gpg
为仅输入密码一次,并且它适用于整个会话(我正在使用Ubuntu/XFce
)?
我不确定它是如何gpg
工作的,似乎默认功能是gpg
要求gpg-agent
输入密码,代理运行 pin-entry 来要求输入密码。
我只想在每个会话中使用 pinentry-curses 一次,所以我可以粘贴我的密码短语(我有hex
一个句子中的字符串 - 我使用echo -n <SENTENCE> | str-hex
)并从 Claws Mail 签署电子邮件而不输入密码短语(您不能将 pinentry-curses 与 Claws 一起使用)邮件)。
答案1
您可以使用本页描述的技术:
http://fvue.nl/wiki/Debian_4.0:_Installing_gpg-agent
要点如下:
安装 gpg-agent 和 pinentry 程序:
sudo apt-get install gnupg-agent pinentry-curses
将下面的行添加到
~/.profile
.任何 POSIX 确认 shell 都应包含此文件。# Invoke GnuPG-Agent the first time we login. # Does `~/.gpg-agent-info' exist and points to gpg-agent process accepting signals? if test -f $HOME/.gpg-agent-info && \ kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2>/dev/null; then GPG_AGENT_INFO=`cat $HOME/.gpg-agent-info | cut -c 16-` else # No, gpg-agent not available; start gpg-agent eval `gpg-agent --daemon --no-grab --write-env-file $HOME/.gpg-agent-info` fi export GPG_TTY=`tty` export GPG_AGENT_INFO
当您登录时,这个小脚本将被激活。如果代理未运行,它将启动。当代理启动时,它会显示如何设置环境变量以便连接到它。该脚本将这些值保存在 中
~/.gpg-agent-info
,以便当您启动另一个登录会话时,脚本可以正确设置变量,从而使用代理。
每次启动时您只需输入一次密码。代理会将您的密钥存储在内存中,因此您无需再次输入密码。