SSH経由でデスクトップに接続するとSSH-Agentが機能しない

SSH経由でデスクトップに接続するとSSH-Agentが機能しない

ssh-agentデスクトップで実行してみましたが、うまく機能します。これは、パスワードなしでSSHキーを使用できることを意味します。

SSH を介してデスクトップに接続するとき、突然 SSH エージェントを使用できなくなります。 SSHでパスワードを尋ねます。

ps実行されているのを見ることができますssh-agent

これにより、eval $(ssh-agent -s) && ssh-addパスワードの入力を求められ、ssh-agent現在のSSHセッション内で機能します。ログアウトして再度ログインすると、もう機能しません。

また、ps新しいインスタンスが起動したことを確認しましたssh-agent。したがって、複数のインスタンスが実行されています。

SSH経由で接続するとプロキシが機能しないのはなぜですか?なぜ毎回再起動する必要がありますか?

私はクライアントとサーバーの両方でDebian 10openssh-clientバージョンを使用しています。1:7.9p1-10+deb10u2

ベストアンサー1

SSH クライアントはシェル変数 SSH_AUTH_SOCK を使用して SSH エージェントと通信します。この変数には、エージェントが待機しているソケットが含まれています。設定されていないか、正しく設定されていないと、SSHクライアントはエージェントと通信できません。

あなたの場合は、次のことが起こっていると思います。

  1. コンピュータにログインすると、SSH_AUTH_SOCKは設定されません。 SSH クライアントは SSH エージェントを認識しません。
  2. eval $(ssh-agent -s)別のSSHエージェントを起動し、現在のシェルでSSH_AUTH_SOCKを設定します。 SSHクライアントは新しいエージェントと通信できます。
  3. その後、ログアウトして再度ログインすると、SSH_AUTH_SOCKはリセットされません。

.bashrcでSSH_AUTH_SOCKを設定して、将来のすべてのbashセッションでこの変数を設定できるようにします。 SSHエージェントを終了し、新しいエージェントを実行するたびに.bashrcを更新する必要があります。

おすすめ記事