我可以使用 ssh 将本地端口映射到远程服务器吗?

我可以使用 ssh 将本地端口映射到远程服务器吗?

我遇到的情况是,我需要将笔记本电脑上的一个端口(位于本地网络,防火墙后面)暂时开放给一般互联网,以进行测试。我们称这台机器为“LocalLaptop”

我有一台面向互联网的服务器,我可以完全控制它,并且可以通过 SSH 访问。我们把这台机器称为“远程服务器”。

我原本想使用 来解决这个问题ssh -L,但这似乎不起作用。

我正在寻找的是:

Internet ---> RemoteServer:8888 ---(ssh-tunnel)---> LocalLaptop:80

我可以用 来做吗ssh?我尝试了-L-R选项,但无法让它们工作(要么打开方式错误,要么仅限于127.0.0.1在 RemoteServer 上)。

答案1

-L您需要将监听地址明确指定为或选项的可选第 0 个子参数-R(无论哪一个适合您进行 SSH 的方向):

ssh -R \*:8888:localhost:80 RemoteServer

请参阅man ssh_config“LocalForward”或“RemoteForward”下的文档。

请注意,对于远程监听 ( -R) 隧道,必须首先通过服务器的配置 ( /etc/ssh/sshd_config) 允许此操作:

GatewayPorts clientspecified

相关内容