Files
KangandClaude Opus 5 e18cb3902e docs: cut the template phrasing and the authoring notes
The migrated prose leaned on a small set of constructions and repeated them
until they stopped carrying information. Across ~3.7k lines the source had 78
uses of "适合", 63 of "如果你", and 34 contrastive "而不是" clauses, most of
them attached to bullet lists that restated the feature name.

What changed:
- Replaced the "适合场景 / 适合:" tail hanging off nearly every section with
  either a plain sentence or nothing. "适合" is now 0, "如果你" is 0, and the
  18 remaining "而不是" clauses each rule out an assumption a reader would
  actually make (a rejected password is not truncated; a font name is not a
  bundled file; a decoder panic must not exit silently).
- Removed the closing editorial lines that asserted significance without adding
  information ("这也是 NyaTerm 和普通多标签终端差异较大的地方"), and the
  meta-commentary where the docs explained their own conventions.
- Dropped the relative time anchors that were already going stale: "新的 SFTP
  后端", "较新的工作区", "现在可以", "Newer Agent workflows".
- Deleted the "如果你准备录制文档素材" passage, which told the reader how to
  stage screenshots for the docs rather than how to use the recorder.
- Removed seven `:::tip Screenshot suggestion` blocks that shipped only in the
  English pages. They were internal authoring notes and pointed at a
  /img/docs/ tree and scripts/demo-*.sh files that do not exist in this repo.
- Dropped "推荐的工作流组合", four permutations of features documented
  elsewhere, and gave the synchronized input group one home instead of the
  three partial copies it had across two pages.
- Rewrote the cloud-sync conflict choices to lead with what is lost, since
  "适合:你确认云端版本才是应该保留的版本" buried the fact that local
  unsynced changes are discarded.

Also closes the remaining English gaps found while doing this: selection and
bulk operations, content-fingerprint upload, two FAQ entries, and two
quick-start steps existed only in Chinese. Chinese and English now carry the
same heading count on every page.

Verified with `pnpm --dir docs-site build` (both locales) and by re-resolving
all 22 cross-page anchors against the generated heading ids.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 11:27:47 +08:00

6.4 KiB
Raw Permalink Blame History

安全功能

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

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

本地敏感数据的保存方式

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

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

界面上呈现的是可复用的密码 / 私钥 / OTP 条目,明文不会落在普通文本配置文件里。

Security/Auth 面板

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

  • 密钥
  • 密码
  • OTP

凭据先存成可复用条目,再在连接表单中引用,不必在每个连接里重复录入。

SSH 密钥管理

保存登录私钥,包括带密码短语的私钥和按环境区分的多个身份。创建 SSH 连接时把认证方式切到 私钥,即可选择已保存的密钥。

密码管理

保存 SSH 密码、代理密码和其他需要复用的口令条目。SSH 连接表单中的密码认证直接引用这里的条目。

密码管理支持查看已保存密码的明文(需要先解锁敏感数据),方便确认凭据内容。

凭据管理与终端自动填充

凭据管理独立于 SSH 密码认证,用来响应终端交互过程中出现的密码提示,例如 sudo 提示、二次确认密码或脚本里的交互式输入。

每个凭据条目包含:

  • 名称 — 用于标识
  • 提示正则 — 匹配终端中出现的提示文本,例如 [Pp]assword:Enter passphrase
  • 发送值 — 匹配成功后发送的内容
  • 启用 / 禁用 — 控制该条目是否参与匹配

终端输出命中某条提示正则时会弹出自动填充提示,由你选择填充或忽略。凭据以加密形式保存在本地存储中,查看已保存密码需要先输入主密码解锁敏感数据。自动填充只在正则命中时触发,不会无条件发送。

OTP 管理

OTP 管理支持:

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

详细使用方式见 OTP 与认证

主密码

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

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

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

没有设置主密码时,锁屏只是一层界面遮罩,点击即可解除,不构成密码保护。

云同步与导入导出的安全模型

启用 设置 → 云同步 时,主密码是硬性前置条件。

当前实现里:

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

它的定位是跨设备同步常用配置,配合本地 .nya 导出完成备份和迁移,不是多人协作或字段级合并工具。

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

屏幕锁定与应用锁定

手动锁定

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

自动锁定

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

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

解锁行为

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

应用锁定状态会在主工作区、模态子窗口和空闲检测之间保持一致。进入锁定后,终端内容和敏感面板会被遮挡;解锁前不要把它当作远端系统的权限控制,它保护的是本机 NyaTerm 工作区视图和本地敏感操作入口。

在共享办公环境或演示现场使用时,把主密码、屏幕锁定和空闲自动锁定一起开启。

SSH 主机密钥策略

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

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

已知主机记录最终保存在本地 redb 存储中的 known_hosts 文本文档。旧版 redb 文本文档中的 known_hosts 内容会按兼容路径导入;文档不承诺读取任意文件系统位置的旧 known_hosts 文件。

对主机身份校验要求较高的环境使用「提示」或「严格」,不要用「接受」。

本地持久化模型

安装模式下主要用户数据保存在 ~/.nyaterm/nyaterm.redbportable 模式使用程序旁 data/config/ 下的配置数据。

其中大致包括:

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

旧 Dragonfly 数据通过旧加密前缀和旧存储文档的兼容 fallback 读取;不会承诺首次启动自动复制整个 ~/.dragonfly/ 目录或保留一个自动回滚副本。

导出配置 把全部配置压缩并加密为 .nya,用于迁移或离线留存,导入导出都依赖主密码。导出诊断包 打包近期日志和运行时摘要用于排查问题;诊断包在分享前先检查内容。两个入口和日志级别、日志保留时间、打开日志目录都在 设置 → 常规

安全使用建议

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