‹ 指南

多级跳板机 v26.3.1+

有些服务器从手机根本连不到,只能从另一台机器连。把那台机器 —— 或者好几台 —— 串起来,Term 会按顺序依次连过去。

需要 Term v26.3.1 或更高版本。

撰写于

跳板机是用来做什么的

跳板机(堡垒机,OpenSSH 里叫 ProxyJump)是这样一台机器:你连得上它,而它连得上你真正想去的那台。Term 先登录它,请它开一条通往下一跳的隧道,再穿过这条隧道去登录下一跳。目标主机上什么都不用改,也始终不需要暴露到外面。

什么时候需要它:目标在内网、在只放行某一个地址的防火墙后面、或者在只有一个网关能进的 VPC 里。这是按主机配置的,在「高级选项」里。

主机编辑器的「高级选项」,跳板机一行显示「无(直连)」
默认是空的 —— 无(直连)。下面那行小字才是重点:这台主机的终端、SFTP 以及端口转发都会走这条链路,不需要再配一遍。

把路线搭出来

点这一行,链路会以流程图的形式打开,从上到下就是实际连接的顺序。

  1. 最上面永远是这台设备,最下面永远是你正在编辑的主机。这两头是固定的,加进来的都在它们中间。
  2. 点添加跳板机,从已保存的主机里挑。列表只给出可用的 —— 这台主机自己不在里面,mosh 和 telnet 主机也不在,因为这两种协议都开不了隧道。
  3. 每加一跳都会按连接顺序编号,右边有个 ✕ 可以再拿掉。
  4. 可以加第二跳、第三跳。数量没有硬限制 —— 每一跳都是一次真正的登录,所以链路长只是更慢,不会不对。
还没有添加任何一跳的跳板机面板:最上面是这台设备,然后是添加跳板机,最下面是目标主机
什么都还没加的样子:只有两头,中间是空的。
「添加跳板机」的选择列表,只列出一台可用的已保存主机
选择列表就在原地展开。这里只有一台够格 —— 同一台服务器的 mosh 条目被排除了,因为 mosh 开不了隧道。
跳板机面板中,这台设备与目标主机之间有一跳,并且带着编号
一跳,编号 1。从上往下读就是路线:这台设备,然后那台跳板机,然后目标。

顺序就是路线

这不是一个集合,而是一个序列,而且必须和网络实际的样子对上:第 1 跳要从你的手机连得上,第 2 跳要从第 1 跳连得上,以此类推。顺序错了,连接就会在第一个看不到下一跳的地方失败。

长按某一跳拖动即可调整顺序。拖的过程中编号会跟着重排,所以你看到的永远就是接下来会发生的。

每一跳各自用自己的凭据

每一跳都是你已保存的主机,所以它就按那台主机自己的配置登录 —— 自己的用户名、自己的密钥或密码、自己的端口。你不需要重复填一遍,一条链路里也可以这一跳用密钥、下一跳用密码。

经由链路连上目标主机的终端
连上了。这个例子里的目标只能从跳板机访问 —— 手机根本没有到它的路由 —— 而这正是要点所在。

某一跳说不的时候

链路比直连多了好几个可能出错的地方,所以失败必须说清楚是哪里。它会点出是哪一段,而不是报一个笼统的超时。

连接失败,指明是跳板隧道以及它连不上的地址
失败信息点出了哪一段:通往目标的隧道开不起来。这和「手机连不上跳板机」是两回事,要修的地方也不一样。

想看完整过程,点按钮下面的查看连接日志(或发送诊断信息)。它是写给人看的 —— 一步一行,跳板机都带名字。

连接日志,开头是一张按顺序列出每一跳的路线图
日志开头就是路线:这台设备、每一跳的名字连同用户名和端口、然后是目标。往下每一跳都有自己的一段。
连接日志的结尾,点名了拒绝开隧道的那一跳,并给出结果与小结
结尾才是关键 —— 被点名的正是拒绝开隧道的那台跳板机,一句人话,后面跟着「结果」和「小结」。里面没有任何打码:密码、密钥、验证码从来不会被收进去,但主机名和地址会 —— 因为把这些藏起来的日志根本读不懂。