エージェント起動パラメータ

エージェント起動パラメータ

シェルスクリプトでどのようにgpg-agent --no-allow-external-cache --default-cache-ttl 10 --max-cache-ttl 20 設定しますか?コマンドを実行した後は提供されますが、gpg-agent[4869]: gpg-agent running and availableキャッシュのttl値は変更されません。 --decryptで確認してgpgconf --list-options gpg-agent | grep cache実際に実行しましたが、30秒後でもキーはキャッシュされ続けました。

私はWebリソースがファイル内のこれらの設定を変更することを提案していることを知っています~/.gnupg/gpg-agent.conf。なぜファイルがないのかわかりません。ルートですが、ファイルvi /root/S.gpg-agentを開くことはできません。とにかく、私は設定ファイルでこれらの設定を変更するのが好きではありません。私は異なる--decryptに対して異なるキャッシュTTLを設定することを好みます。したがって、シェルスクリプトで実行する必要があります。

# ls -al /root/.gnupg/
total 36
drwx------  3 root root 4096 Jun  2 05:51 .
drwx------ 14 root root 4096 Jun  2 14:18 ..
-rw-r--r--  1 root root   24 Jun  2 03:28 .#lk0x00005558d8861f30.gentoo_bazic.26472
-rw-r--r--  1 root root   24 Jun  2 04:16 .#lk0x0000556c15e3ef30.gentoo_bazic.7432
-rw-r--r--  1 root root   24 Jun  1 20:45 .#lk0x00005576e9d54f30.gentoo_bazic.29752
drwx------  2 root root 4096 Jun  1 02:43 private-keys-v1.d
-rw-------  1 root root   32 Jun  1 02:43 pubring.kbx
-rw-------  1 root root  600 Jun  2 05:20 random_seed
srwx------  1 root root    0 Jun  2 05:51 S.gpg-agent
srwx------  1 root root    0 Jun  2 05:51 S.gpg-agent.browser
srwx------  1 root root    0 Jun  2 05:51 S.gpg-agent.extra
srwx------  1 root root    0 Jun  2 05:51 S.gpg-agent.ssh
-rw-------  1 root root 1200 Jun  2 03:19 trustdb.gpg

PS:キャッシュを削除すると可能であることがわかりますecho RELOADAGENT | gpg-connect-agent。しかし、これは理想的ではありません。

引用する

https://www.gnupg.org/documentation/manuals/gnupg/Agent-Options.html

https://www.gnu.org/software/emacs/manual/html_node/pgg/Caching-passphrase.html

答え1

エージェント起動パラメータ

gpg-agent[4869]: gpg-agent running and available

エージェントは開始後すぐに終了し、そのプロセス4869の寿命は約1秒であると仮定します。テストがgpgconf --list-options gpg-agent実際にデフォルト設定ですでに実行されているプロキシに接続している可能性があります。

一般的に、gpg-agentは少なくともキャッシュをクリアせず(オプションではありません)、実行時に設定を変更するように設計されていないようです。

構成ファイル

~/.gnupg/gpg-agent.confそのファイルはデフォルトでは作成されないため、そのファイルはありません。

オタvi /root/S.gpg-agentかもしれませんvi /root/.gnupg/S.gpg-agentS.gpg-agent通常のファイルではなくソケットなので編集できません。

複数プロファイルの管理

--decryptキー数やユースケースの複雑さに応じて、異なるGPGホームディレクトリを使用することを選択できます。

/root/gnupg-home-1/とを管理する場合、各ディレクトリには異なるキャッシュTTL値を持つ/root/gnupg-home-2/独自のディレクトリがあります。gpg-agent.conf注文する

  • gpg --homedir /root/gnupg-home-1/ --decrypt ...
  • gpg --homedir /root/gnupg-home-2/ --decrypt ...

それぞれ独自の構成を持つさまざまなエージェントインスタンスの起動をトリガーします。

テスト/検証

(以前と同様)検証結果を使用でき、パラメータを追加gpgconfするだけです。--homedir

  • gpgconf --homedir /root/gnupg-home-1/ --list-options gpg-agent |grep cache
  • gpgconf --homedir /root/gnupg-home-2/ --list-options gpg-agent |grep cache

訪問制限

ルートのumaskがすでにグループや他のディレクトリへのアクセスをブロックしていない場合は、使用する必要がありますmkdir --mode=700 <directoryname>

掃除する

使用後に殺害物質が必要ですか?

セキュリティの観点から、キャッシュが正しく実装され、構成されたTTLがかなり短い場合、これは不要です。

システムメンテナンスの観点から稼働時間が高い可能性があるサーバーでは、不要になったときにエージェントプロセスを終了するのが最善です。そうしないと、未使用のエージェントプロセスの数が多すぎる可能性があります。

ソフトウェア状態の観点からディレクトリを削除してエージェントプロセスを維持することは一貫性がありません。私のテスト(gpg-agentバージョン2.2.35)では、ディレクトリを削除した後にエージェントプロセスが自動的に消えました。しかし、マニュアルページでこれに関する情報が見つからないので、なぜこれが起こるのか、それがどれほど信頼できるのかわかりません。

ユースケースとスクリプトの実装方法によっては、ディレクトリが削除された後でもエージェントプロセスが続行されると、誤って以前の設定を再利用する危険性があります。uuidgenこのタイプのエラーは 。

関連情報