使用 mutt 使用 GnuPG 时如何防止弹出密码提示?

Phi*_*ipp 7 popups mutt gnupg

我选择的邮件用户代理是 mutt,我正在使用 GnuPG 签署我的邮件。为了让它们协同工作,我set crypt_use_gpgme=yes.muttrc.

阅读邮件时,我被要求输入我的 OpenPGP 密钥的密码,这是预期的行为。但是不必在 mutt 提示行中输入它,而是有一个 GUI 弹出窗口。当然,这在没有 X 的情况下不起作用。

没有没有这个弹出窗口的好方法,而是在 mutt 中输入密码?

Jen*_*rat 7

与 一起使用时gpg-agent,GnuPG 使用“pinentry”实用程序来查询密码。有不同的 pinentry 选项;看来您正在使用其中一种图形。

作为替代方案,我建议您尝试两个基于命令行的 pinentry 选项,一个使用curses,另一个使用普通的命令行查询:

$ apt-cache search 'pinentry-(curses|tty)'
pinentry-curses - curses-based PIN or pass-phrase entry dialog for GnuPG
pinentry-tty - minimal dumb-terminal PIN or pass-phrase entry for GnuPG
Run Code Online (Sandbox Code Playgroud)

它们也应该可用于非基于 Debian 的发行版和类似的名称。安装它们后,还要配置gpg-agent使用它们(来自man gpg-agent):

请确保pinentry在默认文件名(取决于系统)下安装了正确的程序,或使用该选项pinentry-program指定该程序的全名。安装从实际使用的pinentry(例如/usr/bin/pinentry-gtk)到预期的(例如/usr/bin/pinentry)的符号链接通常很有用。

如果您更喜欢配置文件选项,请编辑~/.gnupg/gpg-agent.conf.

  • 谢谢,我需要指向那个方向 ;) 在 Archlinux 中,pinentry-curses 作为核心包组的一部分与 pinentry 包一起安装。pinentry-tty 可以从 AUR 安装。配置很简单:在~/.bashrc中输入“export GPG_TTY=$(tty)”,在~/.gnupg/gpg-agent.conf中输入“pinentry-program /usr/bin/pinentry-curses”,然后重启代理:“echo RELOADAGENT | gpg-connect-agent”。它适用于我的系统。我也尝试过 pinentry-tty,但它对我不起作用,因为出现密码提示,但随后崩溃。 (2认同)