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_passphrase

allow-loopback-pinentry추가하다~/.gnupg/gpg-agent.conf

pinentry-mode loopback추가하다~/.gnupg/gpg.conf

관련 정보