Skip to content

配置导入导出 ​

description: Rhost 配置的导出、导入、批量导入主机与重置设置操作指南

created: 2026-10-09 20:12:42

updated: 2026-10-09 20:22:00

author: sjzhao

1. 概述 ​

配置导入导出用于在多台设备间迁移或备份 Rhost 配置。导出生成一个 JSON 文件,包含主机、分组、密钥、设置与快速连接历史;导入时按智能合并规则写入本地。

设计细节见 配置导入导出设计。

2. 导出配置 ​

导出配置

2.1 操作步骤 ​

  1. 打开设置(⌘,)或主菜单,进入「导入导出」
  2. 点击「导出配置」
  3. 选择导出范围:
    • 全部:主机 + 设置 + UI 状态 + 快速连接历史
    • 仅主机:只导出连接、分组、密钥
    • 仅 UI:只导出界面布局与状态
  4. 输入加密密码(导出文件强制加密,见 §2.2)
  5. 选择保存路径,完成导出

2.2 加密导出 ​

所有导出文件强制加密,使用 PBKDF2-SHA256 派生密钥、AES-256-GCM 加密。密码仅在导入时输入,不落盘、不进日志。

  • 导入时必须输入密码才能解密
  • 密码错误或文件损坏会提示「密码错误或文件损坏」

2.3 导出内容 ​

类别包含项
连接主机地址、端口、用户名、分组、端口转发规则等(不含密码)
密钥公钥、指纹、注释等元数据(不含私钥路径与口令)
分组分组名称与元数据
设置外观、终端、SFTP、端口转发、监控等设置项
UI 状态首页视图、布局、会话恢复列表等
快速连接历史最近的快速连接记录

3. 导入配置 ​

导入配置

3.1 操作步骤 ​

  1. 打开设置或主菜单,进入「导入导出」
  2. 点击「导入配置」
  3. 选择导出的 JSON 文件
  4. 输入解密密码
  5. 确认导入,等待完成
  6. 导入完成后提示「立即重启」,点击重启使配置生效

3.2 合并策略 ​

导入采用智能合并,不覆盖本地已有数据:

数据合并规则
连接按 id 合并;id 冲突时分配新 id,名称追加「(导入)」,本地原连接保留
密钥同连接策略
分组按名称去重并集,导入文件中的分组元数据优先
设置导入文件中存在的字段覆盖本地,缺失字段保留本地值
UI 状态全量覆盖
快速连接历史追加,合并后保留最近 50 条

连接的密码与私钥路径不会被导入。导入后首次连接时需重新输入密码或选择私钥文件。

3.3 导入后重启 ​

导入配置后必须重启应用才能生效。重启通过系统进程插件 relaunch 实现,配置在重启前已原子写入磁盘。

导入后重启提示

4. 批量导入主机 ​

仅导入主机列表(connections 子集),不影响设置与其他配置。

  1. 进入「导入导出」
  2. 点击「批量导入主机」
  3. 选择包含主机的 JSON 文件
  4. 确认导入

合并规则同 §3.2 的连接与密钥策略。

5. 重置设置 ​

恢复应用设置为默认值,不影响主机、密钥与分组。

  1. 进入「导入导出」
  2. 点击「重置设置」
  3. 确认后设置恢复默认,主机列表不变

6. 排除项 ​

以下数据不参与导入导出:

数据原因
连接密码存系统钥匙串,无法跨设备迁移,安全风险高
私钥口令同上
私钥文件路径路径泄漏本机目录结构,跨设备无意义
日志配置日志存储路径是设备本地配置,跨设备无意义
主机密钥信任库 known_hosts.jsonTOFU 指纹是本机当面核对后建立的信任,不应跨设备迁移

导入的连接若使用公钥认证,keyPath 为空,需在编辑主机时重新选择私钥文件。

7. 安全与可靠性 ​

  • 原子写:配置写入使用临时文件 + rename,避免写一半损坏
  • 串行化:ConfigWriteLock 保证导入期间不与正常保存冲突
  • 密码安全:加密导出的密码不落盘、不进日志,后端使用后立即清零
  • 前置校验:导入前校验文件格式,校验失败零写入

8. 下一步 ​