Alterar programa de pinagem temporariamente com gpg-agent

6

Eu uso o gpg-agent às vezes sem exibição do X ou sobre o ssh, então meu arquivo de configuração contém:

pinentry-program /usr/bin/pinentry-curses

Dessa forma, a senha do gpg é solicitada em maldições.

Dito isso, em alguns scripts gráficos, desejo usar a pinagem do GTK. Como chamar o gpg e usar temporariamente uma pinagem diferente?

    
por a3nm 16.10.2015 / 23:31

2 respostas

5

Você pode usar a variável de ambiente PINENTRY_USER_DATA para fornecer gpg informações para passar para o comando pinentry. Em seguida, você precisa definir pinentry-program para um wrapper personalizado, como este , que executará as maldições ou o Pinagem do GTK dependendo dessa variável.

Observe que isso parece funcionar apenas com o GPG 2.x, ao contrário do que a documentação do GPG 1.x diz.

Portanto, com esse script , você usa gpg2 para usar pinentry-curses e PINENTRY_USER_DATA="gtk" gpg2 para usar pinentry-gtk-2 .

    
por 16.10.2015 / 23:31
2

Olhando para man pinentry-gnome3 , vejo isto:

   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.

Infelizmente, esse fallback de modo de texto não funciona para mim. Parece que outros têm a mesma edição . No entanto, este comentário estimulou a minha tentativa de usar um programa diferente de entrada de pinos da GUI: pinentry-gtk2 . Você pode mudar assim:

> 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

Depois que eu mudei, funcionou perfeitamente para mim! Em um terminal na área de trabalho, ele usará a entrada de senha da GUI, mas quando eu fizer ssh na minha máquina, ele usará uma entrada de senha no modo de texto.

    
por 31.05.2018 / 07:54

Tags