gpg.confファイルにuse-agent
という行があります。
これはデーモンであるgpg-agentに。マニュアルページには、「gpg-agentは、プロトコルから独立して秘密(秘密)キーを管理するデーモンです。gpgとgpgsm、およびその他のいくつかのユーティリティのバックエンドとして使用されます。」
gpgのコンテキストでこれが何を意味するのか誰かが説明できますか? gpg-agentのポイントは何ですか?
現在GPG1.4を使用しています。
- エージェントが実行されているかどうかを確認するにはどうすればよいですか? gpg-agentが基本的なGPG1.4パッケージとともにインストールされているかどうかさえ実際にはわかりません。
- 実行されていない場合、どうすれば起動できますか?
- どうすればよいですか。実行中の場合は停止しますか?
回答
Gpg-agentは、バックグラウンドで実行されるプログラムです。 (デーモン)そしてGPG秘密鍵をメモリに保存します。GPGプロセスが鍵を必要とするとき、それは socket でキーを要求します。エージェントプロセスがキーを持っている場合は、gpgに提供します。持っていない場合は、キーリングから暗号化されたキーを読み込もうとします。キーのパスフレーズの入力を求められます。エージェントは復号化されたキーを取得すると、それをgpgプロセスに渡します。GPGキーに加えて、Gpg-agentは同様にSSHキーを保存し、<のようにSSHプロセスに提供できます。 SSHに付属するdivid = "0f6af1e6cb">
プログラム。
キーエージェントを使用する主なポイントは、キーを使用するたびにパスフレーズを入力する必要はありません。エージェントは、ある時点から次の時点までキーをメモリに保持します。 GPG自体は、ジョブが完了するとプロセスが終了するため、これを行うことはできません。
キーエージェントが実行できるもう1つのことは、リモートマシンで実行されているGPGがローカルエージェントでキーを取得できるようにすることです(ローカルファイルからそれらをロードし、パスフレーズの入力を求める場合があります)。 Gpg-agentはまだこれを行うことができません、それは計画された機能です。SSHは非常に長い間エージェント転送を行ってきました(これはそうしない理由です) SSHキーにはgpg-agentを使用します。)
GPG 1.xまたは2.0.xは、GPG_AGENT_INFO
変数が設定されているため、エージェントが実行されていることを認識します。この変数エージェントと通信するソケットの場所とエージェントのプロセスIDが含まれます。GPG2.1は常にエージェントソケットを~/.gnupg
に配置します。GPG2.xは常にエージェントを開始します。実行されていない場合は処理します。
gpg-agent
を実行するだけでエージェントを起動できます。セッションの一部としてエージェントプロセスを保持する場合は、セッションマネージャーの呼び出しをgpg-agent my-session-manager
に置き換えることができます。一部のディストリビューションでは、これが自動的に設定されます。 GPGはエージェントを自動的に起動し、GPG 2.1は環境変数を必要とせずに実行中のエージェントを追加で検出するため、古いバージョンのGPGを使用するか、エージェントを使用して他のタイプを保存しない限り、この方法で起動する必要はありません。 SSHなどのキーの数。
使用して、エージェントのコマンドを送信できます。 div id = “36fe773684″>
シェルコマンド。 kill
コマンドをエージェントプロセスを強制終了します(またはシグナルを送信します)。
Gpg-agentはGPG自体に付属しています。一部のディストリビューションでは、個別にパッケージ化されています。
コメント
- " GPGプロセスがキーを必要とする場合、ソケットを介して実行中のgpg-agentプログラムに接続し、キーを要求します。エージェントプロセスがキーを持っている場合、 gpgに提供します。"少し誤解を招く可能性があります。エージェントはクライアントプロセスにキーを提供しません。代わりに、パフォーマンスを実行します。クライアントプロセスに代わって、キーを使用してアクションをormsします。 (クライアントはエージェントに署名、暗号化、または復号化するための何かを提供し、エージェントはそうします。)エージェントを使用する場合、SSHおよびGPGクライアントソフトウェアは実際のキーにアクセスできません。
- " Gpg-agentはまだこれを行うことができません。'これは計画された機能です。 SSHには、非常に長い間エージェント転送がありました。 (これがSSHキーにgpg-agentを使用しない理由です。)"完全に真実ではありません。 gpg-agentは、SSHエージェント転送で正常に機能します。毎日使っています。 SSHクライアントは転送を処理しますが、gpg-agentは実際にはそれに関与していません。サポートされていないのは、GPG 自体がエージェントとリモートで通信することです。