gpg:解密失败:没有第一个 encrypting/decrypting 文件没有密钥

gpg: decryption failed: No secret key without first encrypting/decrypting a file

好的,这是一个非常奇怪的“无密钥”错误案例。我查看了与此相关的所有其他答案,其中 none 与我的问题有关。

在我的机器上我这样做..

gpg --export-secret-keys me@example.com

在新的 WSL 2 Linux 机器上,我这样做...

gpg --import /tmp/keys.asc
echo 'enter 5 for trust level'
gpg --edit-key me@example.com trust
# I enter '5' trust level and exit

现在我应该准备好恢复我的加密备份了,但是它失败了...

# ssh mount my backup on my NAS to /media/backup
sshfs tdanas:/backup /media/backup/
cat /media/backup/cloud-tar/2021/05/home.0.backupaa | gpg -d | ( cd /; tar -g /dev/null -xvz)
gpg: encrypted with 2048-bit RSA key, ID 465E18C472F84F14, created 2011-01-05
      "User Name <me@example.com>"
gpg: public key decryption failed: Inappropriate ioctl for device
gpg: decryption failed: No secret key

如果我执行以下操作(解密文件而不是流),它会在解密时提示我输入密码,问题就完全消失了。

gpg -d /media/backup/cloud-tar/2021/05/home.0.backupaa | ( cd /; tar -g /dev/null -xvz)
gpg --list-secret-keys
sec   rsa2048 2011-01-05 [SC]
      5ABF9709EFF6255C3B9DC4D9F029102596EDB6DB
uid           [ultimate] User Name <me@example.com>
ssb   rsa2048 2011-01-05 [E]

我是个白痴,哈哈。 stdin 已经被消耗,所以它不能提示输入密码,除非我使用 gui 密码提示