具有 GPG 密码保护的 Mutt

具有 GPG 密码保护的 Mutt

我使用配置中的以下行让 Mutt 使用默认的 IMAP 密码管理配置:

set imap_pass = XXXX

这显然不安全。我看了看这个

https://wiki.archlinux.org/index.php/Mutt#Passwords_managementhttp://www.mail-archive.com/[电子邮件保护]/msg36375.html

有关如何加密数据的指导。但这两种解决方案对我来说都不起作用。Arch Linux 似乎比较理想,因为我不想每次启动 Mutt 时都使用包装器。

我这样做了gpg --gen-key,将姓名设置为John Doe,电子邮件设置为[email protected],评论设置为XXX

我用这些数据创建了一个文件

set EMAIL_PASS = random30digitpassword

我尝试使用以下方法加密我的文件

gpg -e -r "John Doe" ./password

现在,如果我想解密,它应该可以在没有提示的情况下工作,因为我是拥有密钥库的人,但是如果我执行以下命令,它仍然会提示输入密码

gpg2 -dq password.gpg

这不仅没有起作用,而且我的 Mutt 配置如下:

source "gpg2 -dq /home/John/password.gpg | "

set folder      = imaps://lavabit.com/
set imap_user   = [email protected]
set imap_pass   = $EMAIL_PASS
set spoolfile   = +INBOX

它抱怨该路径不存在(并且没有出现密码提示)

所以我非常困惑,因为从两个角度看它都不起作用。有什么想法吗?

答案1

我知道现在很晚了,但其他人可能也遇到了这个问题。尝试删除引号和管道之间的空格。对我来说,这很有效。

"gpg2 -dq /home/John/password.gpg |"

答案2

根据杂种狗手册,用户定义的变量应始终带有my_前缀。因此,在加密文件和中都重命名EMAIL_PASS为。my_email_pass.muttrc

另外,当您gpg -dq /home/John/password.gpg从命令行输入时会发生什么?它会解密密码文件吗?

答案3

除了@ooesili 的答案(它调试了原始问题中的代码并且还帮助我入门)之外,为了充分利用以gpg避免一直在输入密码mutt,设置gpg-agent在较长或较短时间内保留其密码的缓存可能会很有用。

在 Linux 中,这可以通过编辑.gnupg/gpg-agent.conf和添加几行来完成,例如

default-cache-ttl 360000
max-cache-ttl 360000

这些数字代表缓存的超时时间(以秒为单位)。

相关内容