Keychain Working但仍必须在第一次解密时输入密码

时间:2014-01-29 13:55:45

标签: ssh keychain gnupg

我使用钥匙串存储ssh和gpg密钥。当我登录并启动终端时,系统会提示我输入ssh和gpg密码,然后钥匙串报告已找到现有代理和密钥:

  • keychain 2.7.1~ http://www.funtoo.org
  • 没有其他ssh-agent(s)比钥匙串的2740运行
  • 没有其他gpg-agent(s)比keychain的3301运行
  • 找到现有的ssh-agent:2740
  • 找到现有的gpg-agent:3301
  • 已知的ssh密钥:/home/ded/.ssh/id_rsa
  • 已知的gpg密钥:C0A9F2F0

但如果我尝试解密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

有什么想法吗?

0 个答案:

没有答案