特定のサーバーが私が設定したプロキシ転送に従わない理由を診断しようとしています。
クライアント(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)"がありました。ただ確認してみるつもりはありませんでした。これは明らかにソケットを覆います。その理由は、このサーバーが歴史的に別のサーバーに接続するためのソースとして使用されてきており、当時はここにプロキシを使用していたためです。