Termius 中文文档 下载 App

Termius 链式连接(Jump Host) | 通过跳板机访问内网服务器

Jump Host 是什么

很多企业内网的服务器不对外暴露公网端口,外部访问需要先跳到一台公网可达的「跳板机」(也叫 Bastion Host),再从跳板机上 SSH 到内网服务器。这条链就是 Jump Host。

手动做的话是两步:

  1. SSH 到跳板机 ssh jump@bastion.example.com
  2. 在跳板机里 ssh root@10.0.1.5

Termius 把这两步合并成一步——你直接双击内网服务器的主机配置,Termius 自动先连跳板、再连目标,中间过程对你透明。

配置 Jump Host

前提条件

配置步骤

  1. 编辑目标内网服务器的主机配置
  2. 在配置面板里找到「Agent and Jump Hosts」区域
  3. 点击「Add Jump Host」
  4. 从已有主机列表里选择跳板机(或手动输入跳板机的连接信息)
  5. 设置跳板机连接后要执行的命令(一般是空,默认就好)
  6. 保存

配置完成后,双击这台内网服务器:

多个 Jump Host

Termius 支持链式多层跳转:

本地电脑 → 跳板机 A → 跳板机 B → 内网服务器

配置时依次添加 Jump Host A、Jump Host B,顺序就是跳转顺序。每一层可以有独立的用户名、密钥。

SSH ProxyJump(-J 参数)的区别

OpenSSH 从 7.3 开始支持 -J 参数实现 Jump Host:

ssh -J jump@bastion user@10.0.1.5

Termius 的 Jump Host 功能底层也是用这个机制(ProxyJump),只是帮你把命令行参数转化成了可视化配置。所以:

Jump Host 的常见坑

跳板机和目标服务器用不同的密钥

配置 Jump Host 时可以分别指定每一层的认证方式:

在目标服务器的主机配置里,Jump Host 区域指定跳板机用什么身份认证;目标服务器自身的 Identity 区域指定用什么密钥。两者独立。

跳板机禁用了某些 Shell 功能

有些跳板机为了安全只允许转发(不允许交互式 Shell)。这种情况下 Termius 的 Jump Host 仍然可以工作——因为 Jump Host 底层只是端口转发,不依赖跳板机的交互式 Shell。

跳板机超时断开

如果一段时间不操作,跳板机的 SSH 会话可能因空闲被断开。Termius 会检测到并尝试自动重连跳板机。如果跳板机配置了 ServerAliveInterval,可以在跳板机的主机配置里设置 Keep Alive 时间(比如 60 秒)来保活。

Port Forwarding 通过 Jump Host

Termius 的端口转发规则也能通过 Jump Host 生效。比如:

Termius 会自动先连跳板机,再在跳板机和目标之间建立转发链路,你在本地用 mysql -h 127.0.0.1 -P 3307 就能访问。

安全场景

Jump Host 的典型安全场景:

Termius 作为客户端,在这些场景里配合跳板机使用,不做任何绕过。

下一篇「批量导入与主机迁移」讲如何从其他 SSH 客户端迁移主机列表。