我最近设置了一个远程服务器,目前只运行了最低限度的配置。我设置了 OpenSSH,可以通过我的一个域名(使用 A 类 DNS 记录)访问该机器。我还在该机器上运行了一个 Web 服务器,但网关上除 SSH 之外的所有端口都被阻止了。
虽然我计划在未来开放端口 80,但目前我处于“开发”模式,我想禁止任何外部访问或通过端口 80(或通过 HTTP 协议)访问 Web 服务器。目前,访问机器的唯一方法是外部是通过 SSH 连接。
现在,我想知道:如何重定向本地 HTTP 服务器流量通过SSH 以便我可以在本地访问我的 Web 服务器?即使路由器/网关上的 80 端口被防火墙保护,也可以这样做吗?
答案1
是的,使用 ssh 端口转发。
ssh -L 80:localhost:80 name-of-remote-system
这会将任何浏览器连接通过 ssh 发送到本地计算机上的 80 端口,再发送到远程计算机。到达远程计算机后,它将继续发送到 localhost(您使用 ssh 连接的计算机),端口 80。