2013-07-21 16 views
16

Narzędzie szyfrujące pakiet gnuPG gpg pyta o hasło przy użyciu okna dialogowego GUI, gdy wywoływane jest przez zwykłego użytkownika, jednak po wywołaniu przez root prosi o CLI. Jak sprawić, by korzystał z CLI, nawet gdy zostanie wywołany przez zwykłego użytkownika. wersja: GnuPG 1.4.12Jak zrobić monit gpg o hasło w CLI

Odpowiedz

10

Ten rodzaj monitu o hasło nie jest wykonywany przez samą gpg, ale przez gpg-agenta.

Możesz skonfigurować swojego agenta gpg, który program pinentry powinien zostać użyty. Istnieją opcje zarówno przy uruchamianiu agenta, jak iw pliku konfiguracyjnym gpg-agent - proszę spojrzeć na stronę podręcznika.

Widzę dwie opcje:

  • Skonfiguruj gpg-agent używać żądaną metodę
  • Wyłącz gpg-agent; możesz to zrobić dla pojedynczego wywołania gpg, wyłączając zmienną środowiskową GPG_AGENT_INFO, taką jak GPG_AGENT_INFO="" gpg .... gpg kiedyś miało opcję --no-use-agent, ale zostało to oznaczone jako przestarzałe i nie ma funkcji w najnowszej wersji gpg.
+1

utworzonego ~/.gnupg/gpg-agent.conf i napisał 'pinentry-program/usr/bin/pinentry-curses' w nim. Nie działa dla mnie! Użycie 'gpg --no-use-agent' rozwiązało problem. –

+0

@MayankPundir ta opcja jest już od jakiegoś czasu przestarzała; Odpowiednio zaktualizowałem swoją odpowiedź. – Skyr

+0

GPG_AGENT_INFO = "" gpg ... pracował dla mnie, nie używał agenta --no-use. Ubuntu 14.04 –

-2

Można to zrobić:

gpg --batch --decrypt --passphrase-fd 0 gpgfile < passphrase-file 
+1

Musiałem dodać '--no-use-agent' na Ubuntu Linux 14.04 - w przeciwnym razie pojawi się błąd gpg: nie można wysłać hasła w trybie wsadowym \ ngpg: błąd podczas tworzenia hasła: nieprawidłowe hasło: \ ngpg: szyfrowanie symetryczne z' [ stdin] 'failed: invalid passphrase –

0

Można ustawić następującą zmienną środowiskową wyłączyć graficzny szybkiej

export PINENTRY_USER_DATA="USE_CURSES=1" 
+1

Nie działa w systemie Ubuntu 16.10 – Starx

+1

Nie działa także na Debianie Stretch (gnupg 2.1.18). – schlimmchen

Powiązane problemy