![--list-secret-keys로 표시되더라도 sudo gpg로 실행할 때 내 비밀을 사용할 수 없습니다.](https://linux55.com/image/166598/--list-secret-keys%EB%A1%9C%20%ED%91%9C%EC%8B%9C%EB%90%98%EB%8D%94%EB%9D%BC%EB%8F%84%20sudo%20gpg%EB%A1%9C%20%EC%8B%A4%ED%96%89%ED%95%A0%20%EB%95%8C%20%EB%82%B4%20%EB%B9%84%EB%B0%80%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
저는 루트(sudo 사용)로 실행하고 gpg를 사용해야 하는 쉘 스크립트를 개발 중입니다. 암호화는 제대로 작동하지만 어떤 이유로든 암호 해독에서 내 키 사용을 거부합니다.
특정 명령:
sudo gpg --homedir '/home/username/.gnupg' -d file.gpg
실패하다:
gpg: WARNING: unsafe ownership on homedir '/home/username/.gnupg'
gpg: encrypted with 2048-bit RSA key, ID XXX, created YYYY-MM-DD
"John Doe <[email protected]>"
gpg: public key decryption failed: Permission denied
gpg: decryption failed: No secret key
그러나 sudo gpg --homedir '/home/username/.gnupg' --list-secret-keys
키가 올바르게 나열되어 있으며 일반 사용자로 gpg를 사용하여 파일의 암호를 해독할 수 있으므로(Sudo는 제외) 키나 파일에는 아무런 문제가 없습니다.
Manjaro에서 gpg 2.2.19를 실행 중입니다.
답변1
pinentry, 즉 키를 입력하기 위한 비밀번호와 관련된 권한 문제인 것으로 나타났습니다. 두 가지 솔루션/해결 방법이 있습니다.
--pinentry-mode loopback
: 권한 문제를 우회하여 터미널에 pinentry가 발생합니다.chmod o+rw $(tty)
: pinentry가 제대로 작동할 수 있도록 tty 권한을 변경합니다. 첫 번째 솔루션은 권한을 조작할 필요가 없기 때문에 아마도 더 바람직할 것입니다(적어도 이론적으로는 보안 문제가 발생할 수 있음).
답변2
달리기
screen
그런 다음 키를 삭제하세요.