2013-07-21 17 views
16

Lo strumento di crittografia del pacchetto gnuPG gpg richiede la passphrase utilizzando una finestra di dialogo della GUI quando viene richiamato da un utente normale, tuttavia quando viene richiamato da root richiede CLI. Come farlo utilizzare la CLI anche quando viene invocato da un utente normale. versione: GnuPG 1.4.12Come eseguire il prompt gpg per passphrase su CLI

risposta

10

Questo tipo di richiesta di password non viene eseguita da gpg stesso, ma dall'agente gpg.

È possibile configurare il proprio agente gpg quale programma pinentry deve essere utilizzato. Ci sono opzioni sia all'avvio dell'agente che nel file di configurazione di gpg-agent - si prega di dare un'occhiata alla pagina man.

Così vedo due opzioni:

  • Configurare il gpg-agent per utilizzare il metodo desiderato
  • Disabilitare il gpg-agent; puoi farlo per una singola chiamata gpg disattivando la variabile di ambiente GPG_AGENT_INFO come GPG_AGENT_INFO="" gpg .... gpg usato per avere un'opzione --no-use-agent, ma questo è stato contrassegnato come deprecato e non ha funzionalità nella recente versione gpg.
+1

ho creato ~/.gnupg/gpg-agent.conf e scritto 'programma pinentry/usr/bin/pinentry-curses' in esso. Non ha funzionato per me! Usare 'gpg --no-use-agent' ha fatto il trucco. –

+0

@MayankPundir questa opzione è obsoleta da qualche tempo; Ho aggiornato la mia risposta di conseguenza. – Skyr

+0

GPG_AGENT_INFO = "" gpg ... ha funzionato per me, il --no-use-agent no. Ubuntu 14.04 –

-2

Si può fare questo:

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

Ho dovuto aggiungere '--no-use-agent' su Ubuntu Linux 14.04 - altrimenti si ottiene errore gpg: impossibile interrogare passphrase in modalità batch \ ngpg: errore nella creazione di passphrase: passphrase non valido \ ngpg: crittografia simmetrica di' [ stdin] 'fallito: passphrase non valida –

0

È possibile impostare la seguente variabile d'ambiente per disabilitare la grafica pronta

export PINENTRY_USER_DATA="USE_CURSES=1" 
+1

Non funziona su Ubuntu 16.10 – Starx

+1

Non funziona su Debian Stretch (gnupg 2.1.18). – schlimmchen