gpg:签名失败:没有这样的文件或目录

hyp*_*kat 4 debian gpg windows-subsystem-for-linux

我在 WSL2 Debian 上使用 GPG 一段时间了,一切都很完美,但昨天我在使用 git 时开始收到有关 gpg 标志的错误。

尝试运行echo "test" | gpg --clearsign,我收到以下消息:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

test
gpg: signing failed: No such file or directory
gpg: [stdin]: clear-sign failed: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法来解决该问题:

  • gpgconf --kill gpg-agent使用和杀死 gpg-agentkillall gpg-agent
  • 重新启动 WSL2
  • 重新启动我的主机
  • 生成一个新密钥,这给了我与测试签名相同的消息
  • 创建一个带有选项gpg.conf的文件no-tty
  • 使用chmod 700~/.gnupg/private-keys-v1.d

我正在使用 gpg 版本 2.2.27 和 libgcrypt 1.8.8。

hyp*_*kat 11

事实证明,有些东西覆盖了我的tty变量,这让 gpg 变得疯狂,因为在我的变量中,.zshrc我已导出GPG_TTY$(tty). 我设法解决了这个问题export GPG_TTY=`tty`

编辑:经过进一步调查,我发现故障出在 Powerlevel10k 内,有关更多信息,请参阅此 StackExchange 线程