返回博客
Proxy & Networking3 min read

Mac SSH 本地端口转发教程:用 DartShell 访问远端网页

服务器上的网页只允许本机访问,想在 Mac 浏览器里打开,怎么办?可以在 DartShell 中建立 SSH 本地端口转发,把远端网页接到 Mac 的一个本地端口,再用浏览器访问。开始前,准备好能正常连接的 SSH 服务器,并确认目标网页服务已经运行。下面以网页服务只监听服务器的 127.0.0.1:28080 为例,逐步配置访问通道。

配置完成后,可以访问什么?

转发启动后,在 Mac 浏览器访问 http://127.0.0.1:18080,就能看到这个远端网页。

Safari 通过 Mac 本地地址打开远端测试页

*左侧“远端网页”规则正在运行,右侧 Safari 通过本地入口打开远端测试页。*这里的 18080 和 28080 分别属于两端:前者是 Mac 上的入口,后者是服务器上网页服务的端口。 两个端口不需要相同。

第一步:新增本地转发,选择 SSH 服务器

在 DartShell 左侧打开“端口转发”,点击“添加规则”,给规则起一个便于识别的名字,例如“远端网页”。转发类型选择 “本地”,再选好用于建立隧道的 SSH 服务器。本例把 Mac 上要使用的端口设为 18080。

选择用于建立 SSH 隧道的服务器

选择“本地”转发,并选中用于连接目标服务器的 SSH 配置。图中使用“网页服务演示”。

第二步:填写远端地址和端口,保存并启动

本例的网页服务运行在所选 SSH 服务器上,所以“远程主机”填写 127.0.0.1,“远程端口”填写 28080。

填写远程主机 127.0.0.1 和远程端口 28080

远程主机填写 127.0.0.1,远程端口填写 28080;完成后点击“保存”。

保存后,启动“远端网页”规则。各项参数的对应关系如下:

配置位置 本例填写 作用
本机端口 18080 Mac 浏览器访问的入口
远程主机 127.0.0.1 从 SSH 服务器访问其自身
远程端口 28080 远端网页服务的监听端口

远程主机中的 127.0.0.1 指 SSH 服务器自身。 它与 Mac 浏览器地址中的 127.0.0.1 写法相同,指向的机器却不同。照着配置时,端口要换成你实际使用的值。

第三步:浏览器打开本地地址

规则保存并启动后,在建立转发的这台 Mac 上打开浏览器,输入:

http://127.0.0.1:18080

如果配置和连接正常,浏览器会显示远端网页。确认页面已打开,并尝试点击页面上的按钮,检查交互是否正常。

请求会沿下面的路径到达网页服务:

Mac 浏览器 → 本机端口 18080 → SSH 隧道 → 远端网页端口 28080

整个过程没有把网页服务改成对外监听,服务仍只监听服务器本机。改变的是访问路径:Mac 通过 SSH 隧道访问这个服务。本文使用独立测试页说明配置。实际使用时,按自己的服务填写地址和端口:浏览器填本机入口,转发规则填远端服务地址和端口。

相关操作

DartShell

想要更高效的远程运维体验?

DartShell 在一套 macOS 原生体验里统一了 SSH、RDP、VNC、SFTP 和串口,帮你减少工具切换和重复配置。

Download DartShell