Termius 中文文档 下载 App

Termius 端口转发基础 | 本地转发、远程转发、动态 SOCKS 三种类型

什么是端口转发

SSH 的端口转发(也叫 SSH 隧道)是把 SSH 连接当作一条加密的「管道」,通过这条管道转发 TCP 流量到本来网络上不可达的服务。

简单说就是:用 SSH 的加密连接,绕过网络隔离,访问到本来访问不到的端口。

三种类型速览

类型场景一句话SSH 命令参数
本地转发(Local)我从自己电脑,通过跳板机,访问跳板机能访问但我不能的服务-L
远程转发(Remote)我从外部,通过 SSH 服务器,回连到服务器所在内网的某个服务-R
动态转发(Dynamic / SOCKS)把 SSH 服务器变成一个 SOCKS 代理,浏览器流量全部走它出去-D

Termius 把这三种都做成了可视化配置界面,不需要记 -L -R -D 这些命令行参数。

本地转发(Local Forwarding)

场景: 你的公司开发机有 MySQL 数据库(内网 IP),你在家里通过 VPN + SSH 跳板机才能连上。本地转发让你在家可以直接用本地的 Navicat / DBeaver 连上这台 MySQL。

Termius 配置步骤

本地转发界面
本地转发界面
  1. 编辑跳板机的主机配置
  2. 找到 Port Forwarding 部分
  3. 点击「+」或「Add Rule」
  4. 选择 Local 类型
  5. 填写:
  1. 保存 → 点击规则旁边的开关启用

实际效果

启用后:

本地 Navicat → localhost:3307
  ↓(加密 SSH 隧道)
跳板机 → 10.0.1.50:3306(MySQL)

你不需要 SSH 到跳板机再手动 mysql -h 10.0.1.50,直接用本地 3307 端口就能连上。

远程转发(Remote Forwarding)

场景: 你本地跑了一个 Web 开发服务(localhost:3000),想让外部同事或测试环境能访问到。远程转发把服务器的某个端口(比如 8080)重定向回你本地的 3000。

配置步骤

  1. 编辑目标服务器的主机配置
  2. Port Forwarding → Add Rule
  3. 选择 Remote 类型
  4. 填写:
  1. 启用

实际效果

启用后:

外部用户 → server.example.com:8080
  ↓(加密 SSH 隧道反向)
你的本地开发机 → localhost:3000(Node.js dev server)

⚠️ 远程转发需要服务器端的 sshd_config 允许(GatewayPorts yes),否则外部连不上服务器的 8080 端口。

动态转发 / SOCKS 代理(Dynamic)

场景: 你想让浏览器访问公司内网的网站,但在家 VPN 不稳定。动态转发把 SSH 服务器变成一个 SOCKS5 代理,浏览器流量全部走 SSH 隧道出去。

配置步骤

  1. 编辑服务器的主机配置
  2. Port Forwarding → Add Rule
  3. 选择 Dynamic 类型
  4. 填写:
  1. 启用

实际效果

浏览器(配置 SOCKS5 代理 = localhost:1080)
  ↓
Termius(监听本地 1080)
  ↓(SSH 隧道)
SSH 服务器 → 目标网站(看起来像是从服务器的位置出去的)

浏览器配合使用

在浏览器里配置 SOCKS5 代理:

配好之后,浏览器访问任何网址都会走这条 SSH 隧道出去。

查看所有转发规则

Termius 左侧导航有专门的 Port Forwarding 页面:

常见问题

规则启用但连不上?

多台主机之间链式转发?可以。Termius 支持 Jump Host,你在跳板机上做的本地转发目标可以是跳板机能到达的任何地址——包括另一台服务器。

继续「共享端口转发与团队协作」了解团队场景下的端口转发管理。