ssh-agentの出力を評価するのはなぜですか?

ssh-agentの出力を評価するのはなぜですか?

走るためにssh-agent私は以下を使うべきです:

eval $(ssh-agent)

eval出力が必要なのはなぜですかssh-agent?なぜ実行できないのですか?

ベストアンサー1

ssh-agent接続に必要な環境変数を出力します。

shadur@proteus:~$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-492P67qzMeGA/agent.7948; export SSH_AUTH_SOCK;
SSH_AGENT_PID=7949; export SSH_AGENT_PID;
echo Agent pid 7949;
shadur@proteus:~$ 

呼び出すと、evalこれらの変数をすぐに環境にロードできます。

なぜあなたがこれを自分で行うことができないのかについてはssh-agent…この単語の選択に注意してください。 「しない」ではなく、「できないUnixでは、プロセスは自分の環境変数のみを変更し、それを子プロセスに渡すことができます。できないシステムで許可されていないため、親プロセスの環境を変更します。これは非常に基本的なセキュリティ設計です。

evalログインシェル、ウィンドウマネージャ、またはSSH環境変数の設定を必要とするその他のエントリを使用してssh-agent utilityこの問題を解決できます。utilityこれはガイドラインにも記載されています。

おすすめ記事