SSH 端口转发在一个系统上有效,但在另一个系统上无效

SSH 端口转发在一个系统上有效,但在另一个系统上无效

我有两个系统位于 NATed 网络上。

当我将端口 22 转发到系统 A 时,我可以直接连接。
当我将端口 22 转发到系统 B 时,我无法连接。
但是,我能够从系统 A 通过 SSH 连接到系统 B。
我尝试禁用系统 B 上的防火墙。

我有点不知道哪里出了问题。
有什么测试可以帮助我找出问题的根源吗?

答案1

我想说除了 Alex 提到的之外还有另一种可能性,那就是您的端口转发盒是系统 A 的网关,但不是系统 B 的网关。

答案2

没有足够的信息来解决特定问题;我猜想您询问的端口转发是 NAT 盒上的端口转发,而不是 SSH 端口转发功能。

如果是这种情况,则此行为至少可能有两个原因;一是盒子 A 和 B 有多个 IP 地址(例如,盒子 A 是 10.1.1.50 和 192.168.0.50,盒子 B 是 10.1.1.51 和 192.168.0.51),并且从 A 到 B 的 ssh 连接发生在 B 上的 ssh 服务器正在监听的网络上,而 NAT 盒子仅位于另一个网络上(B 上的 SSH 服务器未监听的网络上)。这意味着 A 上的 SSH 服务器正在监听两个网络,而 B 上的 SSH 服务器仅监听 NAT 不会将数据包转发到的网络。

另一个原因可能是接受的加密/密钥交换协议不同,其中盒子 E(网络外部,用于测试)上的 SSH 客户端接受加密协议 P1,盒子 A 上的 SSH 服务器接受协议 P1 和 P2,盒子 A 上的 SSH 客户端接受协议 P1 和 P2,而盒子 B 上的 SSH 服务器仅接受协议 P2。在这种情况下,我相信错误消息应该与无法连接的情况不同,但我还是不知道所涉及的软件。

请在问题中添加更多详细信息,例如地址和软件。

相关内容