SSHエージェント転送のトラブルシューティング

SSHエージェント転送のトラブルシューティング

特定のサーバーが私が設定したプロキシ転送に従わない理由を診断しようとしています。

クライアント(macOS)からssh -A任意の数のサーバーに接続でき、そのサーバーで自分のキーがSSH_AUTH_SOCK設定され表示されていることを確認できます。ssh-add -L

特定のホストでは機能しません。SSH_AUTH_SOCKログインを設定しましたが、「ssh-add -L」が表示されますthis agent has no identities.

まず、私の考えでは、SSH_AUTH_SOCKプロキシ転送が設定されると、AllowAgentForwardingクライアントとサーバーの両方で有効になるという意味で、プロキシ転送が機能することです(これが真であることを確認しました)。

たとえば、

問題のホストから:

$ echo $SSH_AUTH_SOCK
/tmp/ssh-ZpxzssfdPuZq/agent.14304

$ ssh-add -l
This agent has no identities.

このホストのsshサーバーにDEBUG3設定すると、sshdログに次の「プロキシ」の言及が見つかりました。

Jul  4 xxxxxxx hostname sshd[14924]: debug1: server_input_channel_req: channel 0 request [email protected] reply 0
Jul  4 xxxxxxx hostname sshd[14924]: debug1: session_by_channel: session 0 channel 0
Jul  4 xxxxxxx hostname sshd[14924]: debug1: session_input_channel_req: session 0 req [email protected]

これにより、クライアント(macOS)には次のものが表示されますssh -vvv hostname

debug1: Requesting authentication agent forwarding.
debug2: channel 0: request [email protected] confirm 0
debug3: send packet: type 98

これには、SSH とその構成に関する知識として扱うすべてのオプションとシナリオが含まれます。それで、問題を解決するためにどのような追加措置を取ることができるのか、私が見逃している部分が何であるかを尋ねています。

ありがとう

答え1

Kusaranandaのコメントはとても役に立ちました。確認してみるように案内してくれました。私の考えとは異なり、問題のサーバーの$ HOME / .bash_profileに "eval $ (ssh-agent)"がありました。ただ確認してみるつもりはありませんでした。これは明らかにソケットを覆います。その理由は、このサーバーが歴史的に別のサーバーに接続するためのソースとして使用されてきており、当時はここにプロキシを使用していたためです。

関連情報