跳到主要内容

安全功能

NyaTerm 的安全能力主要围绕三件事展开:

  1. 安全保存本地凭据与认证材料
  2. 管理 SSH 连接过程中的主机校验与二次认证
  3. 在桌面端工作区中提供锁屏、主密码与敏感操作保护

本地敏感数据的保存方式

NyaTerm 会在本地保存连接相关配置,并对敏感内容做加密处理后再写入本地存储。常见的敏感数据包括:

  • 已保存密码
  • SSH 私钥与私钥口令
  • OTP 密钥
  • 主密码相关保护材料
  • 代理或其他需要保护的认证材料
  • AI provider 凭据

因此,平时使用时你看到的是“可以复用的密码 / 私钥 / OTP 条目”,而不是明文直接散落在普通文本配置里。

Security/Auth 面板

左侧活动栏中的 Security/Auth 面板集中管理认证相关内容,分为三类:

  • 密钥
  • 密码
  • OTP

这意味着你不需要在每个连接里重复录入所有敏感信息,而是先把凭据存成可复用条目,再在连接表单中引用。

SSH 密钥管理

适合保存:

  • 常用登录私钥
  • 需要密码短语的私钥
  • 按环境区分的多个身份

创建 SSH 连接时,认证方式切换到 私钥 后,就可以直接选择已保存的密钥。

密码管理

适合保存:

  • SSH 密码
  • 代理密码
  • 需要重复复用的口令条目

在 SSH 连接表单中,密码认证也会直接引用这里的已保存密码。

OTP 管理

OTP 管理支持:

  • TOTP
  • HOTP
  • 从二维码图片导入
  • 查看并生成当前验证码
  • 绑定到具体 SSH 连接

详细使用方式见 OTP 与认证

主密码

主密码是 NyaTerm 桌面端最重要的一项本地保护能力。

你可以在 设置 → 安全 中设置主密码。设置后:

  • 应用会用它来校验解锁
  • 本地敏感配置的保护会围绕它展开
  • 锁屏界面会要求输入这个密码才能解锁
  • 同步与备份 相关操作才允许被启用
  • NyaTerm 的加密 .dgfy 配置导入 / 导出也会以它作为前提条件

如果你没有设置主密码,后续锁屏就只是一层界面遮罩,而不是严格意义上的密码保护。

同步、备份与导入导出的安全模型

如果你准备启用 设置 → 同步与备份,主密码不只是“建议项”,而是前置条件。

当前实现里:

  • 没有主密码时,不能启用同步与备份相关操作
  • 云端 provider 凭据会作为受保护的本地敏感数据处理
  • 上传到云端的是加密后的可移植快照,而不是明文配置文件
  • .dgfy 导入 / 导出同样依赖主密码
  • 导入 .dgfy 后通常需要重启应用
  • 远程恢复会覆盖快照中包含的可移植本地数据,但不会把所有设备本地 UI 状态都无差别漫游到另一台设备上

这意味着它更适合被理解为:

  • 跨设备同步常用配置
  • 给当前设备做可恢复的加密备份

而不是多人协作或字段级合并工具。

更详细的配置与行为说明见 同步与备份

屏幕锁定

手动锁定

你可以随时从界面中的锁定入口或快捷键触发锁屏。

自动锁定

设置 → 安全 中开启屏幕锁定后,还可以配置空闲分钟数:

  • 0 表示不使用空闲自动锁定
  • 大于 0 时,空闲达到设定时间后自动进入锁屏界面

解锁行为

  • 已设置主密码:必须输入正确主密码才能解锁
  • 未设置主密码:可以直接点击解锁

如果你准备把 NyaTerm 用在共享办公环境或演示现场,建议把“主密码 + 屏幕锁定”一起开启。

SSH 主机密钥策略

SSH 首次连接未知主机时,NyaTerm 支持三种策略:

策略行为
提示首次连接时询问是否信任(默认)
接受自动接受新的主机密钥
严格拒绝所有未知主机

已知主机记录最终保存在本地 redb 存储中的 known_hosts 文本文档;旧版 known_hosts 文件会在首次启动时迁入。

如果你处在对主机身份校验要求更高的环境,建议使用“提示”或“严格”,而不是无条件接受。

本地持久化模型

NyaTerm 当前把主要用户数据保存在 ~/.nyaterm/nyaterm.redb 中,而不是继续以多个 JSON 文件作为主存储。

其中大致包括:

  • 设置、连接、密钥、密码、OTP、代理、隧道、快捷命令、历史等 JSON 文档
  • known_hostsmaster.key 等文本文档

从 Dragonfly 升级时,NyaTerm 会在首次启动时复制 ~/.dragonfly/dragonfly.redb;如果旧环境只有 .dragonfly JSON / 文本文件,也会复制后迁入 redb。旧 ~/.dragonfly/ 目录会保留作为回滚备份。

诊断与排障材料

除了连接与凭据管理,NyaTerm 还提供两类常见的数据操作:

  • 导出配置:把全部配置压缩并加密为 .dgfy
  • 导出诊断包:用于打包近期日志、运行时摘要等排障信息

需要注意:

  • .dgfy 导入 / 导出依赖主密码
  • 导出诊断包主要服务于排查 Bug、收集问题上下文和请求支持
  • 诊断日志相关设置、打开日志目录、导出诊断包入口位于 设置 → 常规

安全使用建议

  • 生产环境优先使用 私钥 + OTP,不要长期依赖单一密码
  • 对共享电脑或演示机,开启 主密码屏幕锁定
  • 对需要经常穿过堡垒机的环境,把 跳板机代理 做成明确的已保存配置
  • 对首次连接的新主机,核对主机密钥来源后再信任
  • 对 AI provider 凭据、同步 provider 凭据和 .dgfy 备份文件,按和 SSH 凭据相同的敏感级别管理