导入导出
XTerminal 支持批量导入和导出连接配置,方便数据迁移、备份和团队共享。
导入连接
导入功能允许你从文本或 JSON 格式批量添加连接配置。
打开导入窗口
- 切换到本地仓库(导入仅支持本地仓库)
- 点击工具栏的 导入 按钮
- 在弹出的对话框中输入或粘贴数据

导入模式
导入窗口顶部可以切换两种模式:
| 模式 | 说明 |
|---|---|
| 文本 | 每行一条记录,支持竖线分隔或键值对格式 |
| JSON | 标准 JSON 数组格式,适合程序生成的数据 |
文本格式
文本模式每行表示一条连接,支持两种语法:
竖线分隔格式
host[:port] | user | pass | title | note
示例:
192.168.1.10 | root | 123456 | Dev Server | 开发机
user@10.0.0.3:2222 | | | 测试机 | 临时
- 各字段用竖线
|分隔 - 字段可以为空(保留空格)
- 端口可以写在地址后面用冒号分隔
键值对格式
host=值 user=值 port=值 auth=值 title=值 ...
示例:
host=10.0.0.5 user=root auth=privateKey privateKey="/Users/me/.ssh/id_rsa" title=KeyLogin
支持的键:
| 键名 | 说明 | 示例 |
|---|---|---|
| host | 主机地址 | 192.168.1.10 |
| port | 端口号 | 22 |
| user / username | 用户名 | root |
| pass / password | 密码 | 123456 |
| title | 连接名称 | MyServer |
| note | 备注 | 生产服务器 |
| auth | 认证方式 | password / privateKey |
| privateKey | 私钥路径 | /Users/me/.ssh/id_rsa |
| identityId | 凭证 ID | xxx |
注释
以 # 或 // 开头的行会被忽略:
# 这是注释
// 这也是注释
192.168.1.10 | root | 123456 | Server1
JSON 格式
JSON 模式接受标准的 JSON 数组:
[
{
"host": "192.168.1.10",
"title": "Dev Server",
"username": "root",
"port": 22,
"note": "开发环境"
},
{
"host": "192.168.1.20",
"title": "Prod Server",
"username": "ubuntu",
"port": 2222
}
]
JSON 字段完整说明
| 字段名 | 类型 | 必填 | 说明 | 示例值 |
|---|---|---|---|---|
host | string | 是 | 服务器地址(IP 或域名) | "192.168.1.10" |
port | number | 否 | SSH 端口,默认 22 | 22 |
username / user | string | 否 | 登录用户名 | "root" |
password / pass | string | 否 | 登录密码(明文) | "123456" |
title | string | 否 | 连接显示名称 | "生产服务器" |
note | string | 否 | 备注信息 | "数据库主节点" |
auth | string | 否 | 认证方式 | "password" / "privateKey" |
privateKey | string | 否 | 私钥文件路径 | "/Users/me/.ssh/id_rsa" |
passphrase | string | 否 | 私钥密码 | "keypass" |
identityId | string | 否 | 凭证 ID(已保存的凭证) | "abc123" |
timeout | number | 否 | 连接超时(毫秒) | 30000 |
keepaliveInterval | number | 否 | 心跳间隔(毫秒) | 5000 |
defaultPath | string | 否 | 默认工作目录 | "/var/www" |
initScript | string | 否 | 初始化脚本 | "source ~/.profile" |
认证方式(auth)取值
| 值 | 说明 |
|---|---|
password | 密码认证(默认) |
privateKey | 私钥认证,需配合 privateKey 字段 |
identity | 使用已保存的凭证,需配合 identityId 字段 |
keyboard | 交互式认证(2FA) |
askEveryTime | 每次连接时询问 |
完整示例
[
{
"host": "192.168.1.10",
"port": 22,
"username": "root",
"password": "123456",
"title": "开发服务器",
"note": "前端项目",
"auth": "password",
"defaultPath": "/var/www/frontend",
"timeout": 30000
},
{
"host": "10.0.0.50",
"port": 2222,
"username": "deploy",
"title": "生产服务器",
"auth": "privateKey",
"privateKey": "/Users/me/.ssh/prod_key",
"passphrase": "keypassword",
"initScript": "cd /app && source .env"
},
{
"host": "db.example.com",
"username": "admin",
"title": "数据库服务器",
"auth": "keyboard",
"note": "需要 Google Authenticator"
}
]
安全提示
JSON 中的密码和私钥密码为明文存储,请注意:
- 不要将包含敏感信息的 JSON 文件上传到公开代码仓库
- 传输时使用加密渠道
- 导入完成后删除源文件
目标分组
导入窗口会显示当前分组。导入的连接会添加到当前选中的分组中:
- 如果选中 全部,连接会添加为未分组状态
- 如果选中特定分组,连接会添加到该分组
执行导入
- 输入或粘贴数据
- 确认目标分组
- 点击 确认导入 按钮
- 系统会解析数据并显示导入结果
导入完成后会提示成功导入的条数。如果部分数据解析失败,会显示跳过的条数。
导出连接
导出功能将选中的连接配置复制到剪贴板。
导出步骤
- 在连接列表中勾选要导出的连接
- 点击工具栏的 复制到剪贴板 按钮
- 连接配置会复制到系统剪贴板
- 粘贴到文本编辑器保存为文件
导出内容
导出内容为 JSON 格式,包含连接的基本配置信息。
安全说明:
- 导出内容不包含密码和私钥等敏感信息
- 仅导出主机地址、端口、用户名、名称、备注等基础字段
- 需要重新配置认证信息后才能使用
导出示例
[
{
"host": "192.168.1.10",
"port": 22,
"username": "root",
"title": "Dev Server",
"note": "开发环境"
}
]
批量操作
复制副本
在当前仓库中创建选中连接的副本:
- 勾选要复制的连接
- 点击 复制副本 按钮
- 副本会添加到同一分组,名称后缀 "- 副本"
复制到云端
将本地仓库的连接复制到云端仓库:
- 确保当前在本地仓库
- 勾选要复制的连接
- 点击 复制到云端 按钮
- 系统会在云端创建相同的分组结构并复制连接
注意:需要先登录 XTerminal 账号才能使用此功能。
注意事项
仅本地仓库支持导入
导入功能仅在本地仓库模式下可用。如果你使用云端仓库,需要:
- 先切换到本地仓库
- 完成导入
- 使用 复制到云端 功能同步数据
数据安全
- 导出的数据不包含敏感信息
- 导入时需要重新配置密码或密钥
- 建议通过安全渠道传输导出文件
兼容性
导入功能支持从其他 SSH 工具迁移:
- 数据格式相对通用
- 基本字段(主机、端口、用户名)兼容大多数工具
- 认证信息需要手动配置