SSHキーを管理するためにgnupgを設定する方法のチュートリアルに従って、gpg-agentの複数のインスタンスを正常に実行しました。
[root@frylock ~]# ps aux | grep agent
root 2764 0.0 0.0 4208 432 ? Ss 11:15 0:00 ssh-agent
xtian 2785 0.0 0.1 3500 972 ? Ss 11:18 0:00 gpg-agent -s --enable-ssh-support --daemon --write-env-file /home/frylock/xtian/.gnupg/gpg-agent.env
root 2958 0.0 0.0 3168 688 ? Ss 11:39 0:00 gpg-agent -s --enable-ssh-support --daemon --write-env-file /root/.gnupg/gpg-agent.env
root 3036 0.0 0.0 4740 392 ? Ss 11:43 0:00 gpg-agent --daemon
root 3186 0.0 0.0 4740 388 ? Ss 11:53 0:00 gpg-agent --daemon
root 3299 0.0 0.0 4740 388 ? Ss 11:58 0:00 gpg-agent --daemon
root 3549 0.0 0.0 4740 392 ? Ss 12:54 0:00 gpg-agent --daemon
5番目にガイドラインを検討しながら、混乱をほとんど解消することができました。しかし、私が理解していないのは、rootとしてttyにログインしたときになぜ私のユーザーアカウントの所有者が実行しているプロセスですか?
ベストアンサー1
通常、ログアウトすると、ユーザーと対話的に接続されたアプリケーションが終了します。テキスト端末(ローカルまたはリモート)にログインすると、ログアウトすると(カーネルによって直接またはシェルによって間接的に)、その端末に接続されているすべてのアプリケーションが終了します。グラフィカル環境にログインすると、ログアウト時にXサーバーに接続されているすべてのアプリケーションが終了します(より正確には、Xサーバーへの接続が切断され、ほとんどのアプリケーションが終了します)。
ログオフしても、ユーザーが開始したすべてのプロセスが終了するわけではありません。ユーザーは、プログラムをバックグラウンドで実行したり、複数のセッションにログインしたい場合があります。
ssh-agent
などのアプリケーションはgpg-agent
対話型ではないため、ターミナルまたはXサーバーに接続されません。一般的な設定では、他の手段でそれらを殺すことができます。通常、エージェントはセッション全体の親プロセスです。セッション開始スクリプトは、ssh-agent $SHELL
または同じものを実行するようにスケジュールされていますssh-agent $SESSION_MANAGER
。これにより、セッションリーダーである子プロセスが終了したときにエージェントも終了します(エージェントが設計された方法であるため)。エージェントが別々に起動した場合は、セッションマネージャがエージェントを終了するように調整します。
チュートリアルに沿って実験したとき、チュートリアルの作成者は予期しない方法で多くのエージェントプロセスを開始し、セッションは終了しませんでした。未使用のものを殺すことができます。安定した設定に達したら、ログアウト時にエージェントが終了することを確認してください。 (単一エージェントを実行して永久に実行することを好まない限り、これはパーソナルコンピュータで合理的なオプションかもしれません。)