【问题标题】:Access a service on a specific port using SSH Tunnels使用 SSH 隧道访问特定端口上的服务
【发布时间】:2013-11-09 09:07:50
【问题描述】:

我有以下场景:

我需要使用 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)。是否也可以访问所有这些?

感谢您的帮助!

【问题讨论】:

  • 没有运气是什么意思?反向隧道应该可以工作: ssh -L9999:10.0.0.7:9999 10.0.0.3 - 然后 localhost:9999 应该转发到 10.0.0.7:9999

标签: networking ssh


【解决方案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 会自动为你设置这些隧道。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-10
    • 2022-01-28
    • 1970-01-01
    • 2021-07-18
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多