如何使 gpg-agent 的 default-cache-ttl 选项起作用?

如何使 gpg-agent 的 default-cache-ttl 选项起作用?

我使用 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 用户。

相关内容