![我可以通过 SSH 连接访问远程 Web 服务器吗?](https://linux22.com/image/1371173/%E6%88%91%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%20SSH%20%E8%BF%9E%E6%8E%A5%E8%AE%BF%E9%97%AE%E8%BF%9C%E7%A8%8B%20Web%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%90%97%EF%BC%9F.png)
我最近设置了一个远程服务器,目前只运行了最低限度的配置。我设置了 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。