pinentry 프로그램을 일시적으로 변경하려면 gpg-agent를 사용하십시오.

pinentry 프로그램을 일시적으로 변경하려면 gpg-agent를 사용하십시오.

나는 때때로 X 디스플레이 없이 또는 SSH를 통해 gpg-agent를 사용하므로 내 구성 파일에는 다음이 포함됩니다.

pinentry-program /usr/bin/pinentry-curses

이런 식으로 gpg 비밀번호가 저주로 요청됩니다.

즉, 일부 그래픽 스크립트에서는 GTK pinentry를 대신 사용하고 싶습니다. gpg를 호출하고 일시적으로 다른 pinentry를 사용할 수 있습니까?

답변1

PINENTRY_USER_DATA환경 변수를 사용하여 gpgpinentry 명령에 전달할 정보를 제공할 수 있습니다. 그런 다음 다음 pinentry-program과 같은 사용자 정의 래퍼를 설정해야 합니다 .이것Curses 또는 GTK pinentry는 이 변수를 기반으로 실행됩니다.

이는 GPG 1.x에 대한 문서에 명시된 내용과 달리 GPG 2.x에서만 작동하는 것으로 보입니다.

그래서그 스크립트, 당신은 사용 gpg2하고 pinentry-curses사용 PINENTRY_USER_DATA="gtk" gpg2하는 데 사용합니다 pinentry-gtk-2.

답변2

살펴보니 man pinentry-gnome3다음과 같았습니다.

   pinentry-gnome3  implements  a PIN entry dialog based on GNOME 3, which
   aims to follow the GNOME Human Interface Guidelines as closely as  pos‐
   sible.   If the X Window System is not active then an alternative text-
   mode dialog will be used.  There are other flavors that  implement  PIN
   entry dialogs using other tool kits.

불행하게도 이 텍스트 모드 대체는 나에게 적합하지 않습니다. 다른 사람들도 그런 것 같던데동일한 질문. 하지만,이 댓글다른 GUI 비밀번호 입력 프로그램을 사용해 보라는 메시지가 표시되었습니다: pinentry-gtk2. 다음과 같이 전환할 수 있습니다.

> sudo update-alternatives --config pinentry
There are 3 choices for the alternative pinentry (providing /usr/bin/pinentry).

  Selection    Path                      Priority   Status
------------------------------------------------------------
* 0            /usr/bin/pinentry-gnome3   90        auto mode
  1            /usr/bin/pinentry-curses   50        manual mode
  2            /usr/bin/pinentry-gnome3   90        manual mode
  3            /usr/bin/pinentry-gtk-2    85        manual mode

Press <enter> to keep the current choice[*], or type selection number: 3
update-alternatives: using /usr/bin/pinentry-gtk-2 to provide /usr/bin/pinentry (pinentry) in manual mode

바꾸고 나니 나에게 아주 잘 맞았다! 데스크탑의 터미널에서는 GUI 비밀번호 입력을 사용하지만 내 컴퓨터에 ssh를 사용하면 텍스트 모드 비밀번호 입력을 사용합니다.

관련 정보