如何调整GPG/PGP/SSH密钥的默认密码短暂缓存时间?

据我所知,gnome-keyring-daemon默认情况下会缓存密钥的密码,直到我退出登录。我想将默认设置为“缓存10分钟”。在Ubuntu 12.04 Precise中,我该如何做到这一点呢?
非常感谢!

2我在´gsettings´的´org.gnome.crypto.cache´下找到了相关选项。不幸的是,这些选项似乎没有任何效果。可能是因为这个错误,修复措施显然从未合并到Ubuntu中(https://bugzilla.gnome.org/show_bug.cgi?id=681081)。 - Karl Frisk
好的,最后一条评论只适用于SSH密钥。对于GPG来说,设置按预期工作。 - Karl Frisk
1个回答

  • 启动 dconf-editor
  • 导航到 desktop - gnome - crypto - cache
  • gpg-cache-method 更改为 idletimeout
  • gpg-cache-ttl 更改为您希望缓存密码的秒数。
  • 重新启动 gnome-keyring 守护进程 $ gnome-keyring-daemon -r

idle 表示每次在超时之前使用密钥时,计时器都会重置。 timeout 表示仅考虑输入密码后经过的时间。

这仅适用于 GPG 密钥。 SSH 密钥的密码短语仍然会在会话结束之前被缓存。我个人认为这是一个错误。


1我按照你的建议去做了,但没有任何改变。系统仍然记住了密码短语,并进行解密操作。这是一个严重的安全问题。我很惊讶竟然没有人提出警告。 - user587469
2我在Ubuntu 18.03下遇到了这个问题。我使用dconf-editor将其更改为timeout并设置为1秒。我重置了密钥环,但立即需要使用我的PGP密钥密码。然而,一旦输入密码,密码会再次被缓存。它在重新启动/注销后仍然有效。非常令人沮丧! - Linter
如果没有错的话,命令行的等效命令是:gsettings set org.gnome.crypto.cache gpg-cache-method 'timeout'gsettings set org.gnome.crypto.cache gpg-cache-ttl 300gnome-keyring-daemon -r - Flux
我也同意永久缓存凭据(不是会话,在我的情况下,不知道如何更改这个)对于一个旨在增加安全性的工具来说是没有意义的,为此创建了一个解决方法 - deFreitas
有人了解gpg-cache-method中的session值吗? - HugoPoi