我有以下情况:
我需要使用ssh隧道从网络外部访问计算机(端口9999)上的服务。机器的IP地址是10.0.0.7。我可以访问VM(IP:10.0.0.3),我可以使用端口22上的ssh从网络外部访问。
如何从家庭网络访问服务(在10.0.0.7上的端口9999上运行)?
我试过反向转发端口但没有运气。
此外,我们在网络上有一些这些轮询机器都在端口9999上运行(IP范围从10.0.0.6到10.0.0.15)。是否有可能访问所有这些?
感谢您的帮助!
答案 0 :(得分: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:9999
和localhost: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
会自动为您设置这些隧道。