【发布时间】:2014-04-28 15:35:14
【问题描述】:
我今天发现,如果我 ssh-forward 本地端口 X 到 ssh 服务器端口 Y,并且没有进程正在侦听端口 Y,我仍然可以连接到本地端口 X(我没有得到通常的“连接被拒绝” " 错误)。
我在连接到 linux 服务器的 windows 主机上使用 2 个不同的 SSH 客户端进行了测试。
经过一番反思,我得出结论,从纯网络的角度来看,这是我应该预料到的行为:SSH客户端实际上是在localhost:X上监听,所以连接是可能的。
尽管如此,这会导致一个问题的情况,即我有一个明显连接的套接字,它与任何人都没有对话。即使在套接字上发送数据也是一个成功的操作。
所以我的问题是:SSH 协议是否以某种方式管理这种情况,即我是否有检测这种情况的策略?如果是的话,我希望在一些 SSH 客户端和 API 上支持这个功能(今天我使用的是 ssh.net,它似乎没有提供这个功能)。
如果不是,您将如何着手检测情况?回答超时?
感谢您的帮助, 阿尔贝托。
【问题讨论】:
标签: ssh portforwarding