批量导入服务器
使用 JSON 文件可以一次添加多台服务器。数组中的每个对象代表一台服务器,并可包含连接方式、 分组标签和启动行为等设置。
JSON 格式
Section titled “JSON 格式”[ { "name": "My Server", "ssh": { "ip": "example.com", "port": 22, "user": "root", "pubKeyId": "" }, "tags": ["production"], "autoConnect": false }]SSH 配置放在 ssh 对象中。App 导出和导入对话框中的示例都使用这种嵌套格式。
为兼容旧数据,导入也接受扁平格式,即 ip、port、user 等字段直接位于顶层。因此旧版
导出文件和从 ~/.ssh/config 导入的文件仍可使用。新版导出使用上面的嵌套格式。
| 字段 | 必填 | 说明 |
|---|---|---|
name |
是 | 在 App 中显示的服务器名称 |
ssh |
否 | SSH 配置,见下表;纯 Monitor 服务器可以省略 |
monitorHttp |
否 | Monitor agent 配置:addr、user、pwd、ignoreCert、allowInsecure |
preferredTransport |
否 | 同时配置 SSH 和 Monitor HTTP 时优先使用哪一个:ssh 或 monitorHttp。省略时优先 SSH |
tags |
否 | 用于分组服务器的标签 |
autoConnect |
否 | App 启动时自动连接 |
custom |
否 | 当前服务器的附加配置,例如 preferTempDev、logoUrl |
pve |
否 | Proxmox VE 配置,见下文 |
wolCfg |
否 | Wake-on-LAN 配置 |
envs |
否 | 环境变量,仅对 SSH 终端生效 |
customSystemType |
否 | 跳过系统类型自动检测 |
disabledCmdTypes |
否 | 在该服务器上跳过的状态命令 |
id |
否 | 稳定的服务器 ID;省略或为空时由 App 在导入时生成 |
以下字段放在 ssh 对象中:
| 字段 | 必填 | 说明 |
|---|---|---|
ip |
是 | 域名或 IP 地址 |
port |
是 | SSH 端口,通常为 22 |
user |
是 | SSH 用户名 |
pwd |
否 | 密码,不推荐;建议使用 SSH key |
fileTransport |
否 | 文件传输使用的协议:sftp 或 scp。默认 sftp;不提供 SFTP subsystem 的主机使用 scp |
pubKeyId |
否 | App 中已保存的 private key 记录 ID,不是 PEM 文件路径 |
keyPath |
否 | 仅桌面端使用的 private key 文件路径,由 ~/.ssh/config 导入生成;连接时从该文件读取 |
alterUrl |
否 | 备用地址,格式为 user@ip:port |
jumpIds |
否 | Jump server 链,按服务器 ID 指定 |
proxyCommand |
否 | ProxyCommand;手机上在内置 Linux 环境中运行。与 jumpIds 互斥 |
以下字段放在 pve 对象中:
| 字段 | 必填 | 说明 |
|---|---|---|
addr |
是 | PVE Web 地址,例如 https://127.0.0.1:8006;主机名在服务器一侧解析 |
auth |
否 | token 或 password,默认 password |
tokenId |
token 时必填 |
API token ID,格式为 user@realm!tokenid |
tokenSecret |
token 时必填 |
Token 的 secret;属于凭据,文件需按凭据处理 |
pwd |
否 | password 时使用:SSH 用户在 pam realm 下的 PVE 密码。省略时使用 SSH 密码 |
certSha256 |
否 | 信任的证书 SHA-256,小写十六进制。省略时,首次连接会请求确认证书 |
旧版导出文件可能把 pveAddr、pveIgnoreCert 和 pvePwd 放在 custom 中。导入仍会识别这些
字段,并转换为未固定证书的 password authentication 配置。此格式仅用于兼容旧文件;新版导出
使用 pve 对象。
每台服务器都必须至少配置一种连接方式。如果同时省略 ssh 和 monitorHttp,导入后将无法
连接主机。
allowInsecure 默认为 false。只有确实要让该 Monitor 连接使用明文 HTTP 时才设为 true,
包括连接非 loopback 的私有 IP 地址。Monitor agent 还会根据自身的 allow_insecure 设置,
单独检查敏感 endpoint 是否允许不安全连接。
- 创建 JSON array,并在其中添加服务器配置对象。
- 打开 设置 → 备份 → 导入 → 服务器。
- 选择 JSON 文件。
- 检查页面显示的服务器数量并确认导入。
- 导入结束后删除 JSON 文件及其副本。
[ { "name": "Production", "ssh": { "ip": "prod.example.com", "port": 22, "user": "admin", "pubKeyId": "my-key" }, "tags": ["production", "web"] }, { "name": "Development", "ssh": { "ip": "dev.example.com", "port": 2222, "user": "dev", "pubKeyId": "dev-key" }, "tags": ["development"] }, { "name": "Behind NAT", "monitorHttp": { "addr": "https://10.0.0.5:3770", "user": "admin" }, "tags": ["monitor"] }]导入后请逐一测试服务器连接,并确认服务器记录中的标签和 transport 设置符合预期。