gpg:署名に失敗しました:そのファイルまたはディレクトリはありません。

gpg:署名に失敗しました:そのファイルまたはディレクトリはありません。

しばらくは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

問題を解決するために、以下を試しました。

  • gpgconf --kill gpg-agentgpg-agentの使用と終了killall gpg-agent
  • WSL2の再起動
  • 私のホストを再起動してください
  • テストフラグと同じメッセージを提供する新しいキーを生成します。
  • オプションを含むgpg.confファイルの作成no-tty
  • chmod 700使用~/.gnupg/private-keys-v1.d

私はgpgバージョン2.2.27とlibgcrypt 1.8.8を使用しています。

答え1

何かが私の変数を上書きしていたと私のtty変数から。.zshrcGPG_TTY$(tty)export GPG_TTY=`tty`

編集:さらに調査したところ、Powerlevel10k内にエラーがあることがわかりました。詳細については、次を参照してください。この StackExchange スレッド

答え2

Debian で Rider を使用すると、この問題が発生しました。

最後に、以下のガイドラインに従って問題を解決しました。https://wiki.archlinux.org/title/GnuPG#Unattended_pa​​ssphrase

allow-loopback-pinentry追加する~/.gnupg/gpg-agent.conf

pinentry-mode loopback追加する~/.gnupg/gpg.conf

関連情報