한동안 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-agent
gpg-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
변수 에서 ..zshrc
GPG_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