端口转发

Mobile SSH 在 Android 和 iOS 上都支持本地 SSH 端口转发。设备上的本地端口在 127.0.0.1 上监听,并通过 SSH 连接将流量转发到远程主机和端口。

Android 另有 VPN 页面,提供 SSH VPN、本地 SOCKS5 代理、WireGuard、Shadowsocks 和 OpenVPN。这些路由配置与下述本地端口转发分别保存。

已保存隧道的语法

端口转发规则以逗号分隔。每个条目使用两种形式之一:

PORT
LOCAL:REMOTEHOST:REMOTE

简短形式:

8080

这会在设备上绑定 127.0.0.1:8080,并从服务器的角度将其转发到 localhost:8080。

完整形式:

3000:localhost:3000

这会在设备上绑定 127.0.0.1:3000,并通过 SSH 将其转发到远程端的 localhost:3000。

多个转发:

8080, 3000:localhost:3000, 15432:db.internal:5432

向已保存的服务器添加隧道

  1. 打开 Saved Servers。
  2. 添加或编辑服务器配置。
  3. 在 Port forwards 中输入转发规则。
  4. 保存服务器。
  5. 连接到服务器。

应用会在 SSH 会话连接后应用已保存的转发规则。

隧道属于服务器配置

本地转发在已保存服务器中声明,连接服务器时启动。更改转发须编辑服务器配置并重连。

配置中的隧道在每次连接时都会恢复,包括切换网络后的重连。

IPv6 目标地址

IPv6 目标地址必须用方括号括起来,以免其中的冒号被误当成端口分隔符:

8080:[2001:db8::1]:80

未加方括号的裸 IPv6 地址会因存在歧义而被拒绝,而不是被悄悄误读。同样的方括号写法也适用于服务器的地址字段,后面还可以附带可选端口([fe80::1]:22)。

地址绑定

Mobile SSH 将本地转发绑定到设备上的 127.0.0.1。这是有意为之:使隧道保持在设备本地,并避免仅 IPv6 回环带来的意外。如果操作系统允许同一设备上其他应用的网络访问,它们可能可以连接到转发的本地端口。

常见示例

访问在远程服务器上运行的 Web 服务:

8080

然后在同一设备的浏览器中打开 http://127.0.0.1:8080。

访问开发服务器:

3000:localhost:3000

访问可从 SSH 服务器到达的内部数据库:

15432:db.internal:5432

通过跳板机连接

两个平台均可让已保存 SSH 服务器通过有序的已保存跳板机列表连接。编辑目标服务器,在通过以下服务器连接中添加堡垒机并按连接顺序排列。每一跳使用自身凭据,展开的路由最多八跳。

手机连接第一台堡垒机,其后每个地址都须从上一台服务器可达。本地转发与终端和 SFTP 使用同一条已验证 SSH 路由,转发最终目标从最后一台 SSH 服务器访问。每台堡垒机须允许继续转发 TCP,每台服务器均在认证前检查身份。跳板机仅支持 SSH,不适用于 Eternal Terminal。

Android VPN 路由

从主屏幕打开 VPN,添加或导入命名配置,然后点按启动图标。系统询问时批准 Android VPN 权限。启用期间图标变为停止路由;铅笔用于编辑,垃圾桶用于删除。常用 VPN 类型优先显示。

Android 同时只提供一条设备 VPN 连接,启动其他配置会切换原 VPN。本地 SSH SOCKS5 代理可继续通过非 SSH VPN 运行。Tailscale 使用独立应用,启动 Mobile SSH VPN 会替换其 VPN 连接。IKEv2/IPsec 由 Android VPN 设置管理,不在 Mobile SSH 中管理。

SSH VPN 和 SOCKS5 代理

网站条目填写如 example.org 的域名,涵盖该域名及其子域。已识别但未列出的网站走普通网络。直接 IP 连接和通过加密 DNS 获得的地址无法可靠匹配列表,因此走 SSH。SSH VPN 同时应用应用和网站选择;SOCKS5 则通过配置各客户端决定参与范围。

远程 DNS 默认为 1.1.1.1:53,须使用 SSH 服务器可达的数字解析器地址。活动 SSH VPN 重连或等待认证时,分配给 SSH 的流量继续阻止,已知绕行目标正常联网。停止、切换配置、撤销 VPN 权限或应用终止会结束保护。这些客户端不保证 Android 始终开启或锁定模式保护。

WireGuard、Shadowsocks 和 OpenVPN

应用内置这些协议引擎。Shadowsocks 和 OpenVPN 不提供 SSH VPN 的应用与网站选择控件。VPN 也不能解除其服务器供应商或管理员施加的互联网访问限制。

快捷设置磁贴

先启动一次 VPN 配置,将它选为 Mobile SSH VPN 磁贴的目标。Mobile SSH VPN 启用时,包括连接和重连期间,磁贴保持高亮。点按停止,再点按启动记忆的配置。它不会启动 SOCKS5 代理,也不会停止其他应用的 VPN。

Android 13 及以上首次打开 VPN 页面时会请求添加磁贴。拒绝后或旧版 Android 可从快捷设置 → 编辑添加。配置已删除或缺少权限时会打开 VPN 页面进行设置。

隧道故障排查