在使用 Thunderbird 多年并被 gpg 难住之后,我正在慢慢迁移到 mutt。默认情况下,我有 Mutt 签名消息,但系统没有要求我输入密码,然后消息失败:
gpg: can't query passphrase in batch mode
gpg: skipped "53453F2E": bad passphrase
gpg: signing failed: bad passphrase
Press any key to continue...
如果 Mutt 需要密码来签署消息,我该如何让 Mutt 要求我提供密码?
答案1
你的配置是什么?我很久以前使用过一个教程(抱歉,我现在看不到)来获得此配置:
# $Id: .gpg-muttrc,v 1.1 2004/01/08 00:22:40 tom Exp $
# mutt commands for GPG
set pgp_sign_as=0xF7E48EDB
set pgp_decode_command="gpg %?p?--passphrase-fd 0? --no-verbose --batch --output - %f"
set pgp_verify_command="gpg --no-verbose --batch --output - --verify %s %f"
set pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose --batch --output - %f"
set pgp_sign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f"
set pgp_clearsign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f"
set pgp_encrypt_only_command="/usr/lib/mutt/pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust --encrypt-to $pgp_sign_as -- -r %r -- %f"
set pgp_encrypt_sign_command="/usr/lib/mutt/pgpewrap gpg --passphrase-fd 0 --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust --encrypt-to $pgp_sign_as -- -r %r -- %f"
set pgp_import_command="gpg --no-verbose --import -v %f"
set pgp_export_command="gpg --no-verbose --export --armor %r"
set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %r"
set pgp_list_pubring_command="gpg --no-verbose --batch --with-colons --list-keys %r"
set pgp_list_secring_command="gpg --no-verbose --batch --with-colons --list-secret-keys %r"
set pgp_autosign=yes
set pgp_replyencrypt=yes
set pgp_timeout=1800
set pgp_good_sign="^gpg: Good signature from"
鉴于症状,我会去检查一下pgp_sign_command
。但还检查您的配置是否与您使用的是gpg
或一致gpg2
。
进一步阅读
- MuttGuide/UseGPG - Mutt
- 开始将 GnuPG 与 Mutt 结合使用时需要了解的一切(看起来像我使用的来源)
答案2
删除后--batch
,--passphrase-fd 0
每次签名/加密时它都会要求您输入密码。
答案3
这可能是 mutt 1.5.24 中的一个问题;我刚刚从 1.5.23 迁移并开始遇到这个问题。从 gpg.rc 中删除 --batch 和 --passphrase-fd 0 的建议为我解决了这个问题。