Come posso riavviare gpg-agent?


67

Alcune modifiche nella configurazione di GnuPG richiedono un gpg-agentriavvio / riavvio, ma ... Come posso farlo? Ci ho provato gpg-agent restart, service gpg-agent restartma non ci sono riuscito.

Risposte:


99

Con l'attuale GPG (2.1+), per fermarti gpg-agent puoi usare gpgconf --kill, in questo modo:

gpgconf --kill gpg-agent

Non dovresti aver bisogno di riavviarlo manualmente. GPG lo riavvierà quando è necessario.


6
Ci sono casi in cui si desidera avviare l'agente manualmente, ad esempio quando lo si utilizza con il supporto ssh abilitato. L'agente NON si avvierà automaticamente quando si tenta un accesso ssh.
Hasufell,

1
Se dovessi mai cancellare la ~/.gnupgdirectory, dovrai riavviare l'agente gpg manualmente.
Christopher Martin,

21

Il mio modo preferito è con gpg-connect-agent reloadagent /bye. Vedere gpg-connect-agent help /byeper un elenco completo di comandi.


10

gpg-agentnon è un servizio a livello di sistema ma è stato avviato una volta per utente (quindi non è gestito da service). Anche se a volte invocato dai dotfile dell'utente o almeno in Debian e derivati ​​anche quando X11 viene avviato (e gpg-agentinstallato) in /etc/X11/Xsession.d/90gpg-agent(per assicurarsi che un comune gpg-agentsia usato da tutte le chiamate GnuPG, indipendentemente dal terminale o dalle applicazioni della GUI); viene anche avviato automaticamente da GnuPG quando richiesto. Da man gpg-agent:

L'agente viene avviato automaticamente su richiesta da gpg, gpgsm, gpgconf o gpg-connect-agent. Quindi non c'è motivo di avviarlo manualmente. Se si desidera utilizzare l'agente Secure Shell incluso, è possibile avviare l'agente utilizzando:

gpg-connect-agent /bye

Di solito, un semplice killall gpg-agent(da una shell non root) dovrebbe andare bene per terminare gpg-agent. Probabilmente osserverai un leggero ritardo quando usi GnuPG la prossima volta, come gpg-agentriavviato.


2
Questo cambia in GPG 2.1.x e il processo viene gestito tramite dirmngr. I comandi da eseguire quindi sono dirmngr --shutdownseguiti da dirmngr --daemonopzioni a volte aggiuntive (includo anche un homedir GPG specifico e la --use-torbandiera).
Ben

1

Nella mia esperienza ci sono alcuni scenari in cui gpg non riuscirà ad avviare un nuovo agente gpg (importando una nuova chiave?).

Uccidi il vecchio agente in questo modo:

GNUPGHOME="${GNUPGHOME:-$HOME/.gnupg}" gpgconf --kill gpg-agent

e quindi avviare quello nuovo:

gpg-agent --homedir "${GNUPGHOME:-$HOME/.gnupg}" --daemon

L'impostazione di --homedir esplicitamente all'avvio assicura che la tua lista ps sia chiara quando hai più di un homedir; ed è analogo a ciò che fa gpg quando lo avvia.

L'impostazione di GNUPGHOME al momento dell'arresto non è necessaria, ma potrebbe rendere più confortevole l'utente o il revisore del codice.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.