首先,我花了一个小时尝试具有类似标题的答案,因此在将此问题标记为重复之前,请仔细阅读。
我使用 YubiKey 的智能卡功能来存储我的 PGP 私钥。
我确认私钥有效,因为我可以使用 SSH(触发pinentry-mac
)连接到服务器。
$ cat .gnupg/gpg-agent.conf
enable-ssh-support
default-cache-ttl-ssh 60
max-cache-ttl-ssh 120
default-cache-ttl 60
max-cache-ttl 120
pinentry-program /usr/local/bin/pinentry-mac
gpg: decryption failed: No secret key
当 YubiKey 智能卡未解锁并且我运行命令时会抛出错误gpg
。
$ gpg --decrypt /path/to/file.asc
gpg: encrypted with RSA key, ID redacted
gpg: encrypted with 4096-bit RSA key, ID redacted, created redacted
redacted
gpg: public key decryption failed: Broken pipe
gpg: decryption failed: No secret key
当抛出上述错误时,使用 SSH 触发器连接到服务器pinentry-mac
,然后我ctrl+c
运行gpg --decrypt /path/to/file.asc
并pinentry-mac
触发。
这是怎么回事?我怎样才能在gpg --decrypt /path/to/file.asc
不先使用的情况下开始工作ssh
?
我可能遗漏了一些东西!
答案1
将 GnuPG 从版本升级2.2.22
到2.2.23
使用brew upgrade
解决了该问题。