我使用 pass 作为密码管理器。我希望我的密码在一定时间内被缓存,以避免每次我想要剪辑一个密码时都重新输入我的密码。通行证正在使用gpg-代理解密密码。
根据手册页和一个之前回答过的问题,解决办法是在 中设置以下选项~/.gnupg/gpg-agent.conf
:
default-cache-ttl 3600
max-cache-ttl 86400
不幸的是,它在我的机器上不起作用,每次我要求输入密码时都会被要求输入密码。
我已经gpg-agent.conf
通过添加和删除选项来 验证我的已被读取no-grab
。这很好用。
我使用的是带有 i3wm 桌面的 Debian 机器。所以我不使用 gnome-keyring 管理器。
答案1
我通过将 gnupg 从 1.4 升级到 2.1 解决了这个问题,这似乎简化了很多配置。
但是,它在 gpg 和 gpg2 之间迁移密钥时产生了错误。
当我需要 pass 密码时,gpg2 生成了以下错误消息:
gpg: decryption failed: No secret key
解决方案来自于此上一期:
gpg --export [ID] > public.key
gpg --export-secret-keys [ID] > private.key
gpg2 --import public.key
gpg2 --import private.key
rm public.key private.key
[ID] 是我的密钥的 ID。它正确地将密钥从 gpg 导入到 gpg2。
最后我重新启动,现在我的密码被缓存了,这让我成为了一个非常快乐的 pass 用户。