端口转发
本地端口转发让你可以从设备上访问服务器背后的服务 —— 数据库、notebook、开发 服务器 —— 就像它们在本地一样。
添加规则
在编辑器中打开一台主机,进入转发标签。每条规则包含:
- 本地端口 —— 你设备上的端口(必须为 1024 或更高;iOS 沙盒无法绑定更低的 端口),
- 远程主机 —— 从 SSH 服务器看到的地址(默认
localhost), - 远程端口,
- 可选的标签,
- 连接时自动启动。
预设涵盖了常见的那几个:jupyter 8888、postgres 5432、mysql 3306、redis 6379、 web 3000、web 8080。
同一台主机内的本地端口不能重复。对规则的修改会实时应用到已连接的主机。
隧道页面
侧边栏中的隧道页面会汇总你所有主机上的每一条转发规则,按主机分组并显示 已连接/已断开状态。每条规则都会显示它的状态(例如“监听中 · 0 个活动连接”)、 实时的 ↑/↓ 字节计数、一个启用开关,以及一个用来在 Safari 中打开类 HTTP 端口 的按钮。
在会话内部,顶栏中的 ⇄ N 按钮会显示该主机的同一状态。
在 iPhone 上,可以从会话顶栏看到隧道,但规则的创建和编辑要在 iPad 上进行。
使用隧道
规则一旦开始监听,就把设备上的任意应用指向 localhost:<local port> —— 用
浏览器访问开发服务器,用 Postgres 客户端访问数据库。流量会在 SSH 连接内部
传输到你的服务器,再由服务器连接到远程的 host:port。
mosh 与转发
转发规则跑在 SSH 连接上。使用 mosh 传输方式时:
- 自动 tmux 和 具名 tmux 启动模式会为 tmux 保留一条 SSH 侧信道,转发 可以搭载其上。
- 自定 启动模式没有可承载转发的 SSH 连接,因此添加规则被停用 —— 请把启动 模式改为自动 tmux 或具名 tmux。
限制
- 本地端口必须 ≥ 1024(iOS 沙盒)。
- 每台主机不能有重复的本地端口。
- 转发只支持本地到远程;没有远程(-R)转发。