我已经ForwardAgent yes
为一些主机安装了该软件。其中一台最近开始出现故障,但我找不到原因。
当我 ssh 到所有主机并执行时,ssh-add -l
我可以正常看到一个密钥。如果我 ssh 到那一个主机,我会得到“无法打开到您的身份验证代理的连接”。
我已经尝试过了ssh 代理转发失败,显示“无法打开与您的身份验证代理的连接”但它不适用于我的情况。我没有收到有关无法写入 /tmp 的调试语句,就像那个一样。
这是我的ssh -vvv
输出:
...
debug1: Authentication succeeded (publickey).
Authenticated to host_that_fails ([1.2.3.4]:22).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug2: callback start
debug1: Requesting authentication agent forwarding.
debug2: channel 0: request [email protected] confirm 0
debug2: fd 3 setting TCP_NODELAY
debug3: ssh_packet_set_tos: set IP_TOS 0x10
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug1: Sending environment.
...
debug1: Sending env LANG = en_US.UTF-8
debug2: channel 0: request env confirm 0
...
在发生故障的主机上,我可以看到env
变量
SSH_CLIENT=1.2.3.1 45320 22
SSH_TTY=/dev/pts/0
SSH_CONNECTION=1.2.3.1 45320 1.2.3.4
在仍然工作的主机上我还可以看到SSH_AUTH_SOCK
有人知道这里出了什么问题吗?
答案1
我最近也遇到了同样的问题。根本原因是启动了一个新代理,连接转到了那里,而不是转发的代理。我的 .bash_profile 包含一个基于 .ssh/environment 启动“持久”代理实例的逻辑。删除这个“持久”代理解决了我的问题。