我使用钥匙串存储ssh和gpg密钥。当我登录并启动终端时,系统会提示我输入ssh和gpg密码,然后钥匙串报告已找到现有代理和密钥:
但如果我尝试解密gpg文件,请说
$ gpg -d ~/.authinfo.gpg
我再次被提示输入gpg密码,但这只是第一次。再次解密,即使从一个新的终端工作正常。这意味着,例如,emacs gnus无法连接,除非我首先进行手动解密。非常烦人。
我想在登录时输入一次密码。
以下是我在zshrc(也是bashrc)中启动钥匙串的内容:
if [[ $- == *i* ]]; then
eval `keychain --eval id_rsa C0A9F2F0 --inherit any-once --stop others --nogui`
GPG_TTY=$(tty)
export GPG_TTY
else
# In a non-interactive script, eval keychain, but don't try to
# prompt for passphrase
eval `keychain --eval id_rsa C0A9F2F0 7BBA874D --inherit any-once --stop others --quiet --noask`
fi
这是我的〜/ .gnupg / gpg-agent.conf
pinentry-program /usr/bin/pinentry-curses
# Time to live for gpg keys set
# 864000 is 10 days; max set to 100 days
max-cache-ttl 8640000
default-cache-ttl 864000
max-cache-ttl-ssh 8640000
# Use gpg-agent to serve SSH keys as well
# enable-ssh-support
# default-cache-ttl-ssh 864000
log-file /home/ded/gpg-agent.log
debug 4
有什么想法吗?