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

库萨拉南达的评论很有用——指引我去检查事情。与我的想法相反,我确实在有问题的服务器的 $HOME/.bash_profile 中有“eval $(ssh-agent)”。我只是没想去检查一下。这显然覆盖了套接字。原因是该服务器历史上被用作连接其他服务器的源,当时我在其上使用了代理。

相关内容