我使用脚本来解密离线地图的密码,但不知何故它不再工作了......
该文件已加密
gpg --symmetric password
对于离线地图,我使用这个组合。
gpg --quiet --batch --no-tty --for-your-eyes-only --decrypt password.gpg
在 Linux 上它可以正常工作,但在 FreeBSD 上我收到以下错误:
gpg --quiet --batch --no-tty --for-your-eyes-only --decrypt ~/.mail-accounts/xxxxxx/password.gpg
gpg:无法查询密码批处理模式 gpg:解密失败:密钥错误
我错过了什么吗?
gpg --版本 gpg (GnuPG) 1.4.19
---版权信息 ---
Home:~/.gnupg 支持的算法: Pubkey:RSA、RSA-E、RSA-S、ELG-E、DSA 密码:IDEA、3DES、CAST5、BLOWFISH、AES、AES192、AES256、 TWOFISH、CAMELLIA128、CAMELLIA192、CAMELLIA256 哈希:MD5、SHA1、RIPEMD160、SHA256、SHA384、SHA512、SHA224 压缩:未压缩、ZIP、ZLIB、BZIP2
我使用默认的 gpg.conf,没有任何更改。
它不仅适用于离线地图,也适用于我的终端和任何地方。 (在Linux上它可以工作)
编辑:
链接到 python 文件:https://github.com/tarruda/dot-files/blob/master/mail/offlineimap.py( 不是我 )
在 stackexange 上找到相同的脚本。 加密离线 IMAP 密码
离线地图中的调用
remotepasseval = decrypt_password("[email protected]")
背后的想法是,它是用“对称”加密的。当offlineimap启动python脚本时,会打开一个pinentry窗口并询问密码。
但 pinentry 窗口并没有像 Linux 上那样启动。在 Linux 上,它是相同的版本,仅在次要版本上有所不同。
在 gpg 1.4.19 中,--batch 选项也可用并且之前已经工作过,但我不知道会发生什么。
答案1
该--batch
选项是在 gpg v2 中添加的。在此之前,在 v1 中,--no-use-agent
如果您正在进行脚本化操作,则可能需要一个选项。
也就是说,我不明白你在解密时如何输入密钥。 ...?您正在使用--no-tty
(这会阻止 gpg 询问您任何问题),但至少根据您与我们分享的内容,您没有给 gpg 密码。这是一个问题。