top of page
搜尋

Termius支持批量导入OpenSSH和Xshell主机记录吗?

作家相片: termius team
termius team
9月4日
讀畢需時 8 分鐘

如果你手里有几十台跳板机、测试机、生产机,最不想做的事大概就是一台台在 SSH 客户端里重新创建主机。Termius 的主机管理和同步体验不错,但迁移时最关键的问题只有一个,能不能把现有主机记录批量导进去


简短回答是:Termius 支持从 OpenSSH 配置文件批量导入主机记录,但对 Xshell 会话文件通常没有直接的一键导入能力。如果你的主机清单已经在 `~/.ssh/config` 里,迁移会比较顺。如果主机记录在 Xshell 里,通常要先把会话信息整理或转换成 OpenSSH config,再导入 Termius。


下面把实际流程、限制、坑点和其他 SSH 客户端的对比讲清楚。


俯视视角下,一台笔记本电脑显示 SSH 配置文件和几张手写主机清单。
整理主机记录时,先把配置来源和字段对应关系理清。

Termius 对 OpenSSH 配置文件的支持更直接


OpenSSH config 是 SSH 世界里最通用的主机记录格式。常见路径是:


  • Linux 和 macOS `~/.ssh/config`


  • Windows OpenSSH `C:\Users\你的用户名\.ssh\config`


一个典型条目长这样:


```sshconfig

Host prod-web-01

HostName 203.0.113.10

User deploy

Port 22

IdentityFile ~/.ssh/prod_ed25519

```


Termius 的导入逻辑通常围绕这类 `Host` 条目展开。也就是说,它会读取配置文件中的主机别名、地址、端口、用户名,以及部分认证相关字段,然后在 Termius 的 Hosts 列表里生成对应记录。


如果你刚从 Termius官网下载桌面端,或准备搜索 Termius下载,建议优先使用桌面端做首次导入。原因很简单:桌面端更适合处理文件选择、密钥路径检查和批量整理。导入后,再通过 Termius 账号同步到其他设备会舒服很多。


常见导入方式有两类。


通过 Termius 桌面端导入


不同版本的菜单名称可能会有细微变化,但流程大体类似:


  1. 打开 Termius 桌面端。

  2. 找到设置、数据导入或主机导入相关入口。

  3. 选择 OpenSSH config 文件。

  4. 预览或确认要导入的 Host 条目。

  5. 完成导入后检查主机、用户名、端口和密钥配置。


导入后不要急着删旧配置。先挑几台机器测试连接,尤其是生产环境、跳板机链路和使用特殊密钥的主机。


通过命令行或辅助工具导入


有些 Termius 版本或环境会配套命令行能力。是否可用,要以当前安装版本的帮助信息为准。可以先运行:


```bash

termius --help

```


如果你的版本提供 SSH config 导入相关命令,再按帮助说明执行。这个方式适合已经把主机记录标准化的人,比如团队把所有服务器都维护在一个仓库里的 `ssh_config` 文件中。


不过,对大多数人来说,桌面端导入更省心


导入 OpenSSH config 前最好先清理一次


OpenSSH config 很灵活,这也是它迁移时容易出问题的原因。SSH 本身能理解的语法,不代表图形化客户端都能完整还原。


导入前,可以先做一次轻量清理。


保留明确的 Host 条目


Termius 最容易处理的是这种结构:


```sshconfig

Host staging-api

HostName 198.51.100.20

User ubuntu

Port 22

IdentityFile ~/.ssh/staging_ed25519

```


这种条目字段清楚,导入后也容易检查。


需要小心的是通配符:


```sshconfig

Host *.internal

User ops

ProxyJump bastion

```


这类配置在 OpenSSH 里很常见,但它更像一条匹配规则,不是一台具体主机。Termius 导入时未必会把它变成你想象中的多个主机记录。


少依赖高级指令


下面这些 OpenSSH 指令在原生命令行里很正常,但迁移到 SSH 客户端时可能无法完整转换:


  • `Match`

  • `Include`

  • `ProxyCommand`

  • `LocalForward`

  • `RemoteForward`

  • `DynamicForward`

  • `CanonicalizeHostname`

  • `ControlMaster`

  • 复杂的 `Host` 通配符规则


其中最容易出问题的是跳板机和代理链路。比如:


```sshconfig

Host private-db

HostName 10.0.1.15

User admin

ProxyJump bastion

```


Termius 可能可以表达跳板机连接,但它未必会按 OpenSSH 的语义自动复现所有细节。导入后最好手动打开该主机的设置,检查 jump host、代理、端口转发等配置。


检查密钥路径


`IdentityFile` 常见问题是路径在新设备上不存在。


例如 macOS 上的配置:


```sshconfig

IdentityFile ~/.ssh/prod_ed25519

```


导入到 Windows 设备后,这个路径当然不能直接用。Termius 可能会保存身份信息或让你重新选择私钥,但你仍然要确认:


  • 私钥文件是否已经迁移到当前设备

  • 密钥权限是否正确

  • 私钥是否有 passphrase

  • Termius 中是否绑定了正确的 identity


主机记录导入成功,不等于认证配置一定能直接工作。


近景视角下,终端窗口显示多条 Host、HostName 和 IdentityFile 配置。
OpenSSH config 越规整,批量导入后的修复成本越低。

Xshell 主机记录不能指望直接一键导入


Xshell 在 Windows 用户里很常见。它的会话管理也很好用,但迁移到 Termius 时会遇到一个现实问题:Xshell 的会话文件不是 OpenSSH config 格式


Xshell 常见会话文件通常是 `.xsh`,内容包含主机地址、端口、用户名、终端设置、代理、隧道、编码、外观等。它是 Xshell 自己的会话格式。Termius 通常不会把这类文件当作原生导入源来读取。


所以问题的答案要分开看:


来源

Termius 是否适合批量导入

实际建议

OpenSSH config

支持度较高

直接导入,导入后检查高级配置

Xshell `.xsh` 会话

通常不支持直接导入

先转换成 OpenSSH config,再导入

手工整理的主机清单

可以迁移

按 OpenSSH config 格式生成文件

带密码的会话记录

不建议迁移密码

重新录入或改用密钥认证


Xshell 到 Termius 的核心做法是:把 Xshell 会话字段映射到 OpenSSH config 字段


常见映射关系如下:


Xshell 字段

OpenSSH config 字段

会话名称

`Host`

主机地址

`HostName`

用户名

`User`

端口

`Port`

私钥路径

`IdentityFile`

跳板机或代理

`ProxyJump` 或客户端内单独配置


例如 Xshell 里有一台会话:


  • 会话名 `prod-web-01`


  • 主机 `203.0.113.10`


  • 用户名 `deploy`


  • 端口 `22`


  • 私钥 `C:\Users\me\.ssh\prod_ed25519`


可以先整理成:


```sshconfig

Host prod-web-01

HostName 203.0.113.10

User deploy

Port 22

IdentityFile ~/.ssh/prod_ed25519

```


然后把这个文件导入 Termius。


批量转换 Xshell 会话时要注意什么


如果只有几台主机,手工整理最快。如果有几十台或上百台,可以用脚本读取 `.xsh` 文件,再生成 OpenSSH config。


但这里别太激进。Xshell 会话里有不少字段不适合自动迁移:


  • 保存的密码 不建议迁移,也很可能无法安全导出。


  • 终端外观 字体、配色、窗口大小通常没必要迁移。


  • 复杂隧道 本地端口转发和远程端口转发要单独核对。


  • 代理设置 SOCKS、HTTP 代理或跳板机配置要重新验证。


  • 文件路径 Windows 路径转到 macOS、Linux 后要改写。


如果你打算写脚本,可以先只导出最基本的字段:会话名、主机地址、端口、用户名。确认这些没问题,再处理密钥和跳板机。


一个保守的生成结果应该像这样:


```sshconfig

Host dev-api-01

HostName 192.0.2.11

User root

Port 22


Host dev-api-02

HostName 192.0.2.12

User root

Port 22

```


先让 Termius 生成主机列表,再逐步补充身份认证,比一次性迁移所有复杂配置更稳。


侧面视角下,屏幕上并排显示 Xshell 会话文件和生成的 SSH 配置片段。
从 Xshell 迁移时,关键是把会话字段转成通用 SSH 配置。

Termius 和其他 SSH 客户端的导入能力怎么比


不同 SSH 客户端对“导入”的理解不太一样。有的直接读取 OpenSSH config,有的更偏向管理自己的会话库,有的靠插件或脚本完成迁移。


下面是一个实用对比,不纠结营销说法,只看迁移主机记录时会遇到什么。


客户端

OpenSSH config 支持

Xshell 迁移体验

适合的场景

Termius

可批量导入常规 Host 条目

通常需要先转换

多设备同步、团队主机管理、移动端 SSH

OpenSSH CLI

原生支持

需要手工转换

纯命令行、自动化脚本、配置即代码

VS Code Remote SSH

直接读取 OpenSSH config

需要转换

开发场景、远程编辑代码

MobaXterm

支持会话管理,部分迁移能力视版本而定

对 Windows 工具链较友好

Windows 运维、多标签终端

SecureCRT

会话管理强,脚本能力强

更适合复杂会话迁移

企业环境、复杂登录流程

PuTTY

使用自己的会话和注册表结构

需要转换

传统 Windows SSH 使用习惯

Tabby

对 OpenSSH config 较友好

通常仍要转换

跨平台终端、轻量会话管理


Termius 的优势是跨平台同步和主机组织方式。你在桌面端整理好主机和身份后,可以在其他设备上继续用。它的弱点是,面对 Xshell、PuTTY 这类“自有会话格式”时,不能假设所有字段都能无损导入。


OpenSSH CLI 则刚好相反。它没什么漂亮的主机管理界面,但配置文件就是事实标准。如果你的团队已经用 Git 管理 `ssh_config`,那 OpenSSH 仍然是最透明的中心格式。Termius 可以作为更舒服的前端工具来使用。


VS Code Remote SSH 很适合开发者,因为它可以直接吃 OpenSSH config。缺点是它不是通用 SSH 资产管理工具,不适合管理大量非开发用途的服务器。


SecureCRT 在复杂企业环境里很强,尤其是脚本、日志、会话模板这些功能。但它的迁移和维护成本也更高。Termius 更适合想要快速在多设备之间使用同一批 SSH 主机的人。


迁移到 Termius 的实用建议


批量导入听起来像一次性动作,但真正花时间的地方往往在导入前和导入后。下面这些建议能少踩不少坑。


先建立一个干净的中间配置文件


不要直接拿多年积累的 `~/.ssh/config` 去导入。更稳的做法是新建一个文件,比如:


```bash

ssh_config_for_termius

```


只放你希望进入 Termius 的主机记录。这样可以避免把测试残留、临时跳板、废弃服务器也导进去。


给 Host 命名留出规则


主机别名会进入 Termius 列表。建议用能长期维护的命名方式,例如:


```sshconfig

Host prod-web-01

Host prod-db-01

Host staging-api-01

Host cn-bj-bastion-01

```


别用太随意的名字,比如 `test1`、`newserver`、`aaa`。迁移后的客户端越好用,越依赖清晰命名。


把密钥和主机分开整理


主机记录是一层,身份认证是另一层。迁移时可以按这个顺序来:


  1. 导入主机名、地址、端口、用户名。

  2. 确认主机列表完整。

  3. 导入或选择对应私钥。

  4. 测试连接。

  5. 再处理跳板机、代理和端口转发。


这样排错会简单很多。


不要迁移明文密码


如果旧工具里保存了密码,别把它当成“资产”迁移。更好的做法是:


  • 优先改用 SSH key

  • 给私钥设置 passphrase

  • 使用团队认可的密码管理器保存必要凭据

  • 删除旧客户端里不再需要的保存密码


这不是形式主义。SSH 客户端一旦同步到多设备,凭据管理就要更谨慎。


导入后抽样测试


如果有 100 台主机,不一定要立刻全测一遍。可以先抽样:


  • 每个环境测 1 到 2 台

  • 每种认证方式测 1 台

  • 每条跳板路径测 1 台

  • 每个云厂商或网络区域测 1 台


抽样通过后,再逐步扩大测试范围。


低角度视角下,一只手正在把硬件安全密钥插入笔记本电脑旁边。
主机记录可以批量迁移,凭据和密钥仍要谨慎处理。

常见问题


Termius 能直接导入 `~/.ssh/config` 吗?


可以导入常规 OpenSSH config 里的主机条目。导入后要检查高级指令、密钥路径、跳板机和端口转发,因为这些内容不一定能完全按原样转换。


Termius 能直接导入 Xshell 的 `.xsh` 文件吗?


通常不能直接把 Xshell 会话文件当作原生导入源。更可靠的做法是把 Xshell 会话字段整理成 OpenSSH config 格式,再导入 Termius。


OpenSSH config 里的密码会一起导入吗?


不会。OpenSSH config 本身也不保存登录密码。建议使用 SSH key,并在 Termius 中重新配置身份认证。


`ProxyJump` 这类跳板机配置能导入吗?


有些简单配置可以迁移或手动还原,但不要默认认为复杂跳板链路会百分百正确。导入后应逐台检查需要跳板机的主机。


迁移前应该备份什么?


至少备份三类内容:原始 `~/.ssh/config`、私钥文件、Xshell 会话文件。备份后再做转换和导入,方便回滚。


结尾要记住的判断


Termius 适合把 OpenSSH config 作为迁移入口。只要你的主机记录已经是标准 `Host` 条目,批量导入会比较顺。


Xshell 就没那么直接。它更像是从一个专用会话库迁移到另一个 SSH 管理工具,中间最好用 OpenSSH config 做桥梁。先转换基础字段,再补认证和跳板配置,是最稳的路线。


如果你现在要开始迁移,别先追求一次完成。先整理一个干净的 SSH config 文件,导入少量主机测试,确认命名、密钥和跳板机都正常,再批量处理剩下的记录。这样做慢一点,但出错少得多。


 
 
 

留言


bottom of page