シェルスクリプトでどのように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-agent
。S.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
このタイプのエラーは 。