GPGプロキシはどのように機能しますか?

GPGプロキシはどのように機能しますか?

私のgpg.confファイルには次の行がありますuse-agent
これはデーモンプロセスであるgpg-agentを意味することを知っています。マニュアルページには、「gpg-agentは、プロトコルに関係なく秘密(秘密)キーを管理するために使用されるデーモンです。gpgとgpgsmはもちろん、他の多くのユーティリティのバックエンドとして機能します」と記載されています。

gpgの文脈でこれが何を意味するのかを説明できる人はいますか? gpg-agentのポイントは何ですか?

現在、GPG 1.4を使用しています。

  1. エージェントが実行されているかどうかはどうすればわかりますか?実際、gpg-agentがデフォルトのGPG 1.4パッケージと共にインストールされているかどうかはわかりません。
  2. 実行されていない場合はどうやって始めますか?
  3. 実行している場合はどうやって停止しますか?

ベストアンサー1

Gpg-agentはバックグラウンドで実行されるプログラムです(悪魔)GPGキーをメモリに保存します。 GPGプロセスにキーが必要な場合は、以下を介して実行されているgpg-agentプログラムに接続します。ソケットそして鍵を求めてください。エージェントプロセスにキーがある場合は、それをgpgに提供します。それ以外の場合は、キーリングから暗号化キーをロードしようとし、キーのパスワードを求めるメッセージを表示します。エージェントは復号化キーを取得し、それをgpgプロセスに渡します。 GPGキーに加えて、Gpg-agentはssh-agentSSHに付属のプログラムと同様にSSHキーを保存してSSHプロセスに提供できます。

キーエージェントを使用するポイントは、キーを使用するたびにパスワードを入力する必要がないことです。エージェントは、一度から次回までキーをメモリに保持します。 GPG自体は、操作が完了するとプロセスが終了するため、これを行うことはできません。

キーエージェントが実行できるもう1つの作業は、リモートシステムで実行されているGPGがローカルエージェントからキーを取得できるようにすることです(ローカルファイルからキーをロードし、パスワードの入力を求めることができます)。 Gpg-agentはまだこれを実行できません。計画された機能。 SSHには長い間プロキシ転送機能がありました。 (これがgpg-agentをSSHキーとして使用しない理由です。)

GPG_AGENT_INFOGPG 1.xまたは2.0.xには変数が設定されているため、エージェントが実行されていることがわかります。この変数には、エージェントと通信するためのソケットの場所とエージェントのプロセスIDが含まれています。 GPG 2.1は常にプロキシソケットを配置します~/.gnupg。プロキシプロセスが実行されていない場合、GPG 2.xは常にプロセスを開始します。

エージェントを起動するには実行しますgpg-agent。エージェントプロセスをセッションの一部として維持するには、セッションマネージャへの呼び出しを上書きできますgpg-agent my-session-manager。一部の展開では、この機能を自動的に設定します。 GPGは自動的にエージェントを起動し、GPG 2.1は追加の環境変数なしで実行中のエージェントを探します。したがって、以前のバージョンのGPGを使用するか、エージェントを使用してSSHなどの他の種類のキーを保存しない限り、この方法で起動する必要はありません。 。

エージェントを送信してください。注文するそしてgpg-connect-agentシェルコマンド。送るkill注文するエージェントプロセスを終了します(またはシグナルを送信します)。

Gpg-agentはGPG自体に付属しています。一部のディストリビューションでは別々にパッケージ化されます。

おすすめ記事