0

我有以下情况:

我需要使用 ssh 隧道从网络外部访问机器(端口 9999)上的服务。机器的IP地址是10.0.0.7。我可以访问一个虚拟机(IP:10.0.0.3),我可以使用端口 22 上的 ssh 从网络外部访问它。

如何从我的家庭网络访问服务(在 10.0.0.7 的端口 9999 上运行)?

我试过反向转发端口,但没有运气。

此外,我们在网络上有一些这样的轮询机器,它们都在端口 9999 上运行(IP 范围从 10.0.0.6 到 10.0.0.15)。是否也可以访问所有这些?

谢谢您的帮助!

4

1 回答 1

1

使用 SSH 的标准隧道应该可以工作:

ssh -L9999:10.0.0.7:9999 10.0.0.3

然后您应该能够连接到localhost:9999,这相当于连接到10.0.0.7:9999. 如果你想为很多主机做这个,你可以做很多-L语句,但第一个端口必须是唯一的:

ssh -L9999:10.0.0.7:9999 -L9998:10.0.0.8:9999 10.0.0.3

然后你有localhost:9999localhost:9998。为了加快速度,您可以将以下内容添加到.ssh/config文件中:

Host 10.0.0.3
    LocalForward 9999 10.0.0.7:9999
    LocalForward 9998 10.0.0.8:9999
    LocalForward 9997 10.0.0.9:9999
    LocalForward 9996 10.0.0.10:9999
    LocalForward 9995 10.0.0.11:9999
    LocalForward 9994 10.0.0.12:9999
    LocalForward 9993 10.0.0.13:9999

然后ssh 10.0.0.3将自动为您设置这些隧道。

于 2013-11-09T09:31:50.790 回答