gpg-agentを実行せずにスクリプトからgpgキーを生成するにはどうすればよいですか?

gpg-agentを実行せずにスクリプトからgpgキーを生成するにはどうすればよいですか?

最新バージョンでは、キーを生成すると永続的なユーザープロセス()が開始されますgpggpg-agentコマンドが終了した後も、プロセスは引き続き実行されます。私はこの行動を変えたいと思う。

現在、私はまだ実行中のunshareすべての項目を隔離して終了するためにPID名前空間を使用していますgpg。残念ながら、このアプローチには常に利用できない高い権限(ルートおよびpid / mount名前空間へのアクセス)が必要です。

gpgスクリプトを使わずにgpgキーを「きれいに」生成する方法はありますか?

  1. プロセスを継続して実行する
  2. 高い権限が必要ですか?

完全性のために、現在の設定のおおよその説明は次のとおりです。

sudo unshare -fp --mount-proc sh -c 'gpg --homedir /tmp/TEMP_DIR --generate-key --batch; kill -9 -1' <<EOF
Key-Type: DSA
Key-Length: 768
Name-Real: TEMPKEY
Name-Comment: TEMPKEY
Name-Email: noreply@localhost
Expire-Date: 0
%no-protection
EOF

ベストアンサー1

1つの可能性は、もはや必要なくなったときにエージェントを停止することです。

gpgconf --kill gpg-agent

GNUPGHOMEカスタムホームディレクトリを使用しているので、以下を設定または指定する必要があります--homedir

GNUPGHOME=/tmp/TEMP_DIR gpgconf --kill gpg-agent

すべてのGnuPG関連プロセスを停止するには、代わりにallを指定してくださいgpg-agent

おすすめ記事