저는 커널 4.1.7-hardened-r1을 사용하여 Gentoo Hardened를 실행 중이고 GPG를 사용하여 SSH로 연 셸 세션에서 파일을 암호화하려고 하며 변수를 비활성화하여 DISPLAY
비밀번호 프롬프트에 pinentry-curses를 사용하려고 합니다. 내 것을 사용하면 gpg -o file.gpg --symmetric file
암호화가 잘 작동합니다 . 사용하면 pv file | gpg -o file.gpg --symmetric
다음과 같은 오류 메시지가 나타납니다.
gpg-agent[30745]: command get_passphrase failed: Inappropriate ioctl for device
답변1
GPG_TTY
아래와 같이 제대로 작동하려면 환경 변수를 설정해야 합니다.이 파일:
GPG_TTY=$(tty)
export GPG_TTY
이 두 줄은 (bash로 가정)에 있어야 ~/.bashrc
새 터미널 세션을 열 때마다 실행됩니다.
하지만 또 다른 해결책이 있습니다. bash에서는 pv
프로세스 대체를 사용하여 실행하고 파일인 것처럼 가장할 수 있습니다.
gpg -o file.gpg --symmetric <(pv file)
따라서 추가 입력이 필요한 프로그램에 항목을 연결하는 것은 아마도 좋은 생각이 아닐 것입니다. 예상과 다르게 작동할 수 있습니다.