端口转发
Mobile SSH 支持本地 SSH 端口转发。Android 设备上的本地端口在 127.0.0.1 上监听,并通过 SSH 连接将流量转发到远程主机和端口。
已保存隧道的语法
端口转发规则以逗号分隔。每个条目使用两种形式之一:
PORT
LOCAL:REMOTEHOST:REMOTE
简短形式:
8080
这会在 Android 设备上绑定 127.0.0.1:8080,并从服务器的角度将其转发到 localhost:8080。
完整形式:
3000:localhost:3000
这会在 Android 设备上绑定 127.0.0.1:3000,并通过 SSH 将其转发到远程端的 localhost:3000。
多个转发:
8080, 3000:localhost:3000, 15432:db.internal:5432
向已保存的服务器添加隧道
- 打开 Saved Servers。
- 添加或编辑服务器配置。
- 在 Port forwards 中输入转发规则。
- 保存服务器。
- 连接到服务器。
应用会在 SSH 会话连接后应用已保存的转发规则。
管理活动隧道
连接时,选择会话并从终端工具栏打开隧道视图。在那里你可以查看活动的本地转发、添加新隧道或移除某个本地转发。
地址绑定
Mobile SSH 将本地转发绑定到 Android 设备上的 127.0.0.1。这是有意为之:使隧道保持在设备本地,并避免仅 IPv6 回环带来的意外。如果 Android 允许同一设备上其他应用的网络访问,它们可能可以连接到转发的本地端口。
常见示例
访问在远程服务器上运行的 Web 服务:
8080
然后在 Android 设备的浏览器中打开 http://127.0.0.1:8080。
访问开发服务器:
3000:localhost:3000
访问可从 SSH 服务器到达的内部数据库:
15432:db.internal:5432
隧道故障排查
- 在运行时添加隧道之前,确保 SSH 会话已连接。
- 检查本地端口尚未被占用。
- 检查远程主机和端口可从 SSH 服务器到达。
- 当目标服务就在 SSH 服务器本身上时,使用
localhost。 - 转发到 SSH 服务器后面的另一台主机时,使用服务器的内部 DNS 名称或 IP。