在寻找简单的密码管理器时,我找到了“pass”并选择它。我遇到的一个意想不到的困难是,有关其功能的网络搜索很难以产生所需结果的方式进行表达 - 仅仅因为它的名称。因此,我无法找到以下两个问题的答案:
- 我可以解锁整个会话的通行证吗?我编写了几个脚本,要求“通过”特定密码,而不是将该密码保存为纯文本(我不愿意这样做)。举个例子,我将 emacs 和 mu4e 与 Offlineimap 结合使用来获取我的电子邮件,每次我想更新收件箱时重新输入密码可能会很烦人。如果有一种方法可以在一段时间内或整个会话期间解锁我的密码管理器,那就太好了。
- 假设我的第一个问题有一个肯定的答案:如何使用 pass 为我的 ssh 密钥提供密码?我每天在几台不同的机器上使用 ssh 并为它们定义别名。显然,我可以将密码以纯文本形式作为此别名的一部分,但这对我来说是不可接受的。我还可以编写一个小脚本,首先要求 pass 输入密码,然后建立 ssh 连接。我想知道是否有一个“更简单”的解决方案。
答案1
- pass 使用 gpg 来加密您的密码。这意味着您可以使用gpg-代理缓存您的密码,从而允许 gpg 工具解密其文件,而无需再次询问您的密码。如果您使用 GnuPG >= 2.1.0,gpg-agent 将自动启动。如果没有,(不幸的是)有很多方法可以让 gpg-agent 与您的登录或 X 会话一起启动。
这拱门维基包含大量有关如何配置和使用 gpg-agent 的信息,但最重要的可能是以下条目~/.gnupg/gpg-agent.conf
:
默认缓存 ttl 3600
这允许调整 gpg-agent 记住您的密码的时间(以秒为单位)。默认值为 60。
2. 您还可以使用 gpg-agent 来缓存 ssh 密钥。不幸的是,我从来没有成功地进行过可靠的设置,所以我不能在这里给你任何提示。