web-dev-qa-db-ja.com

gpg-agentを再起動するにはどうすればいいですか?

GnuPGの設定を変更するとgpg-agent再起動/再起動が必要になりますが、...どうすればよいですか? gpg-agent restartservice gpg-agent restartを試しましたが、成功しませんでした。

54
Felipe

現在のGPG(2.1以降)では、gpg-agentを停止するには、次のようにgpgconf --killを使用できます。

gpgconf --kill gpg-agent

手動で再起動する必要はありません。必要に応じてGPGが再起動します。

82
sideshowbarker

私の好きな方法はgpg-connect-agent reloadagent /byeです。コマンドの完全なリストについてはgpg-connect-agent help /byeを参照してください。

15
ben

gpg-agentはシステム全体のサービスではありませんが、ユーザーごとに1回起動されます(したがって、serviceによって管理されません)。 gpg-agentでX11が起動されたとき(そして/etc/X11/Xsession.d/90gpg-agentがインストールされたとき)にも、ユーザのドットファイルによって、あるいは少なくともDebianおよびその派生物によって呼び出されることがあります(すべてのGnuPG呼び出しによって確実に共通のgpg-agentが使用されるため)。 ;必要に応じてGnuPGによって自動的に起動されます。 man gpg-agentから:

エージェントは、gpg、gpgsm、gpgconf、またはgpg-connect-agentによって自動的にオンデマンドで起動されます。したがって、手動で起動する必要はありません。付属のSecure Shell Agentを使用したい場合は、次の方法でエージェントを起動します。

gpg-connect-agent /bye

通常、(root以外のシェルからの)単純なkillall gpg-agentは、gpg-agentを終了させるのに問題ありません。 gpg-agentが再び開始されるので、次回GnuPGを使用するときには多少の遅れがあるでしょう。

8
Jens Erat

私の経験では、gpgが新しいgpgエージェントを起動できないというシナリオがいくつかあります(新しいキーをインポートしますか?)。

以下のように古いエージェントを殺します。

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

その後、新しいものを起動します。

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

開始時に--homedirを明示的に設定すると、複数のhomedirがあるときにpsの一覧が明確になります。そしてそれはgpgが起動した時に何をするのかと類似しています。

停止時にGNUPGHOMEを設定する必要はありませんが、あなたやコードレビュー担当者をより快適にさせるかもしれません。

0
Ben Hyde