连接与会话
本页覆盖两个相关但不同的界面:
- 保存的连接是可复用的连接预设,包括主机、认证、ProxyJump 路由、分组、标签及相关配置。
- 会话管理器是用于查找、整理、编辑、导入、导出和打开这些预设的表格式工作区。
它们都不同于活动会话:活动会话是在工作进行时显示的实时连接树。
从侧边栏的 + 按钮或会话管理器工具栏打开新建连接对话框。
| 方式 | 说明 |
|---|---|
| 密码 | 连接时安全提示输入,绝不存入配置文件 |
| SSH 密钥 | RSA、Ed25519、ECDSA,使用文件路径或系统钥匙串 |
| SSH Agent | 委托给运行中的 ssh-agent 或 macOS 钥匙串 |
| 证书 | SSH 证书,支持可选 CA 验证 |
| 键盘交互 | 直连场景下的 2FA、OTP 或 PAM 挑战验证 |
OxideTerm 会自动检测 ~/.ssh/ 目录并导入密钥,无需额外配置。
对于直连场景,如果服务器要求挑战式登录,密码认证也可以回退进入键盘交互提示。对于 ProxyJump 链路,显式 KeyboardInteractive 认证目前仍有限制,因此每一跳更适合使用密码、密钥、Agent 或证书。
- 主机 / 端口 / 用户名:标准连接参数。
- 颜色:每个连接独立配色,便于在侧边栏中识别。
- 分组:在会话管理器中整理为文件夹。
- 标签:用于筛选和搜索的自由格式标签。
- ProxyJump(跳板机):通过一个或多个堡垒机中转。
- Agent 转发:按连接决定是否把本地 SSH Agent 转发到远端。
ProxyJump:多跳 SSH
Section titled “ProxyJump:多跳 SSH”OxideTerm 使用 Dijkstra 最短路径算法在已保存的连接树中解析跳板链,支持无限中继跳转:
本地机器 ──► 跳板机 A ──► 跳板机 B ──► 目标服务器- 中间跳转会话会自动打开。
- 每一跳在连接池中单独追踪。
- 若任意中间跳断线,其下游节点会标记为
link_down并触发级联重连。
每一跳的认证说明
Section titled “每一跳的认证说明”- 直连支持密码、密钥、证书、SSH Agent 和键盘交互提示。
- ProxyJump 每一跳当前更适合使用密码、密钥、证书或 SSH Agent 认证。
- 通过代理链显式使用
KeyboardInteractive目前仍有限制。 - 从
~/.ssh/config导入的ProxyJump链会保留原有路由结构。
SSH Config 导入
Section titled “SSH Config 导入”OxideTerm 会读取已有的 ~/.ssh/config 文件,将定义的 Host 条目导入为 OxideTerm 连接,并保留 ProxyJump、User、IdentityFile、Port 等指令。
Known Hosts 与 TOFU
Section titled “Known Hosts 与 TOFU”首次连接到新主机时,OxideTerm 采用首次信任机制:
- 主机公钥指纹会显示在确认对话框中。
- 确认后,密钥会按 OpenSSH 兼容语义追加到
~/.ssh/known_hosts。 - 后续连接会自动验证已存储的指纹。
- 密钥不匹配时会醒目警告,绝不静默忽略。
已保存连接的静态加密
Section titled “已保存连接的静态加密”OxideTerm 会加密磁盘上的已保存连接元数据,而不是将它们保留为明文 JSON。
- 密码、私钥口令和 API Key保留在系统钥匙串中。
- 已保存连接元数据在本地使用 ChaCha20-Poly1305 密封加密。
- 本地配置密钥保存在系统钥匙串中,并在启动时解锁加密配置文档。
- 旧版明文配置会在启动时迁移到加密存储。
主机、标签、认证元数据、跳板路由及相关的保存连接状态在导出之前就已经具备静态保护。
加密导出/导入(.oxide)
Section titled “加密导出/导入(.oxide)”连接预设,包括凭据,可导出为便携式 .oxide 文件,用于备份或在机器间迁移。
| 属性 | 值 |
|---|---|
| 加密算法 | ChaCha20-Poly1305 AEAD |
| KDF | Argon2id,256 MB 内存、4 次迭代、1 线程 |
| 完整性 | SHA-256 校验和嵌入文件头 |
| 预检 | 启动 KDF 前验证内存可用性 |
| 密钥长度 | 256 位派生密钥 |
.oxide 格式使用你提供的密码短语,OxideTerm 不会存储该密码。在任意安装了 OxideTerm 的机器上使用正确密码即可导入。
会话管理器是已保存 SSH 连接的表格式视图。可从侧边栏或命令面板 ⌘K 打开;当需要跨多个预设执行操作时,它补充了保存连接的树视图。
表格以可排序的列展示所有已保存连接:
| 列 | 说明 |
|---|---|
| 名称 | 连接显示名称 |
| 主机 | 主机名或 IP 地址 |
| 端口 | SSH 端口,通常为 22 |
| 用户名 | 登录用户名 |
| 认证 | 密码、密钥或 Agent 等认证类型 |
| 分组 | 文件夹分组 |
| 标签 | 自由格式标签 |
| 上次使用 | 最近一次连接的相对时间戳 |
| 操作 | 连接、编辑、复制、删除 |
点击列标题排序,按住 Shift 可多列排序。
搜索、标签与分组
Section titled “搜索、标签与分组”工具栏会在名称、主机、用户名和标签中实时进行模糊搜索。左侧文件夹树可按所有连接、未分组、最近使用或命名分组及其子分组筛选。
标签是用于临时整理的自由格式标记。可从行操作中添加或删除标签,表格会显示彩色标签,并将其纳入搜索。常用标签包括 prod、staging、dev、datacenter-eu 和 team-backend。
使用文件夹树可以创建子分组、重命名分组,或在把其中连接移至未分组后删除分组。将表格行拖入分组即可重新分配。
批量与编辑操作
Section titled “批量与编辑操作”使用行复选框多选连接。选中后,工具栏会提供以下批量操作:
| 批量操作 | 说明 |
|---|---|
| 删除所选 | 一次删除多个连接 |
| 移至分组 | 将多个连接重新分配到某分组 |
| 添加标签 | 为所有所选连接应用标签 |
批量操作会先请求确认。行中的编辑会打开连接编辑器,可修改连接属性、认证方式、密钥路径和分组分配。工具栏也可导入和导出加密 .oxide 文件。
自动路由操作会分析现有会话,为新连接建议合适的 ProxyJump 路径。
活动会话侧边栏是实时视图,并不是另一个保存预设的管理器。它有两种模式:
- 树视图:展示跳板机关系,子节点缩进在父节点下方。
- 焦点视图:以平铺列表展示当前活动或已连接会话。
节点操作包括连接、断开、新建终端、打开 SFTP、IDE 模式或端口转发、向下钻取进入主机,以及将活动连接另存为预设。