首先,抱歉,我的英语不好。
我们在两个特定服务器之间的 SSH 连接中遇到了一个非常奇怪的问题。
假设我们有 X1、X2 和 Y 服务器。其中 X1 和 X2 位于同一个防火墙后面,安装了相同的操作系统,对可能与情况相关的所有事物使用相同的配置。
我们没有在服务器 Y 上的 IPtables 上设置任何规则来允许或阻止某些 IP 或其他内容,但无论如何……X1 和 X2 服务器使用相同的 IP 地址与外部通信。
问题:服务器 X1 无法通过 SSH 连接到服务器 Y。它在 ping 时收到响应,但没有其他响应,任何其他端口上的其他服务都无法成功连接。
X2 或任何其他服务器成功连接到 X1,并且 X1 成功连接到除 Y1 之外的任何其他服务器。
[root@X1]# ssh -v root@Y1
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to Y1 [Y1] port 22.
** It stalls here **
我们已经重新启动了服务器和防火墙。
我们进行了一项测试,尝试使用不同的端口将 X1 连接到 Y,但不配置该端口,结果不是停滞,而是连接被拒绝。如果我们将 Y1 SSH 守护程序配置为接受该端口上的连接并再次进行相同的测试……它会使用新配置的端口停滞。
答案1
我以前见过类似的问题,很难诊断。原来是 X1 正在监听 Y 的 IP 地址(但没有向网络发送信息,我记不清具体细节了)。你能禁用 Y 上的 ping 吗?这样做,看看 X1 是否仍然可以 ping 该 IP。如果可以,那么你已经找到了问题,现在你只需要找到原因。