ログアウト時にssh-agentを終了する必要があるのはなぜですか?

ログアウト時にssh-agentを終了する必要があるのはなぜですか?

私はmacOSノートブックと年中無休で動作するサーバーにssh-agentを設定しました。ログアウトするたびにssh-agentを終了する必要があるのはなぜですか?

ssh-agentに関する私の知識のソース:https://kb.iu.edu/d/aeww

eval `ssh-agent`    # Start ssh-agent
echo $SSH_AGENT_PID    # 20552 (Check ssh-agent is running)
ssh-add    # Add id_rsa key to ssh-agent
kill $SSH_AGENT_PID    # Kill ssh-agent on logout

この最後のステップが必要なのはなぜですか?

ssh-agentプロセスを終了する方法

実行中のすべてのshh-agentプロセスを見つける最も簡単な方法

ps ax | grep ssh-agent    # outputs details of processes

または

pgrep ssh-agent    # outputs list of PIDs only

実行中のすべてのssh-agentプロセスを終了する最も簡単な方法

pkill ssh-agent

ベストアンサー1

エージェントを手動でシャットダウンしないと、エージェントはシステムに残ります。

一般的に乱雑なことに加えて、2つの潜在的な問題があります。

  1. Kusanalandaが指摘したように、これはssh-agentログインするたびに異なるプロセスを作成し、プロセステーブルが少し混乱することを意味します。

  2. もっと深刻なのは、すべてのプロセスにあなたのやるメモリ内の秘密鍵です。攻撃者がシステムにアクセスしてssh-agentカーネルメモリ管理またはコード自体のバグ(仮説、現在はまったくわからない)を悪用して秘密鍵を潜在的に抽出しようとする場合。

もちろん、最後の可能性は低いですが、プロセスを終了し、リスクを完全に排除することも同様に簡単です。

申し訳ありませんより安全。

おすすめ記事