Docs
管理

通行密钥与批准

用通行密钥为你批准的 AI 修复签名,由每台服务器自己核对批准,连主控也不能单独批准任何操作。

AI 值守要执行一项需要你批准的修复时,你用通行密钥批准:你的设备对这项操作的确切内容签名(用指纹、面容或 PIN)。服务器上的 root 辅助程序用它信任的钥匙核对这个签名,还会核对主控对每一项操作的签名。所以即使主控被攻破,也无法批准、修改或添加操作。

在服务器信任这些钥匙之前,AI 在那里只执行诊断,不执行修复。

要求

  • 面板使用 HTTPS(或通过 localhost 打开)。浏览器只允许在安全的页面上使用通行密钥。见 HTTPS。
  • 较新的 Chrome、Edge、Safari 或 Firefox,以及一台带指纹识别、面容识别、PIN 或安全密钥(例如 YubiKey)的设备。
  • 始终使用同一个地址。 通行密钥绑定在创建它时打开面板所用的主机名上,例如 monitor.example.com。批准时也要用这个地址。

添加通行密钥

打开 设置 → 通行密钥,点 + 添加通行密钥。

给它起个名字,例如“MacBook Touch ID”“iPhone”或“YubiKey”,然后点 创建通行密钥。浏览器会要求你验证指纹、面容或 PIN。

面板的第一把通行密钥:在每台服务器上由 root 确认它的指纹之后,或者用面板给出的命令安装被控时,服务器才会信任它。见服务器。

之后添加的通行密钥会一直显示 等待签名,直到一位已经有被信任通行密钥的管理员点 用我的通行密钥确认。之后服务器才会接受它。

每个管理员都可以注册多把通行密钥,例如笔记本电脑上一把、手机上一把。请注册第二把,这样丢了一台设备也还能批准。

状态含义按钮
已信任服务器接受用它签名的批准撤销
等待签名已创建,但还没有被信任的通行密钥签名用我的通行密钥确认、删除
已撤销不再被接受—

撤销 之后,服务器一拿到签名的记录,就不再接受用这把通行密钥签名的批准。

服务器

服务器只有在服务器本身上做过一步操作之后才会信任这些钥匙:主控无法让服务器信任任何东西。

  • 用面板的安装命令安装的服务器会自动信任:命令里带着主控签名钥匙和已信任通行密钥的指纹(--master-key … 和 --approvers …)。

  • 主控 + 被控:安装脚本会信任它自己的主控的钥匙。

  • 已经安装好的服务器:在每台上执行

    sudo 3rmonitor approvers trust

    它会显示主控签名钥匙和每把通行密钥的指纹。把它们和 设置 → 通行密钥 → 要核对的指纹 对照,然后输入 yes。设置 → 通行密钥 里也给出了带指纹的同一条命令,可以不经询问直接执行。

之后的每一次变化(新增一把通行密钥、撤销一把)都是一条编了号、签了名的记录,由服务器自己核对。主控无法伪造这样的记录。新的记录,以及用 approvers trust 信任的钥匙,服务器几秒内就会用上。

设置 → 通行密钥 中的 服务器 列表显示每台服务器的情况:

显示含义
已是最新:“信任 N 把钥匙(记录 N)”你批准的修复可以在那里执行
需要处理:“还没有信任……”在那台服务器上执行 sudo 3rmonitor approvers trust
需要处理:“信任 N 把钥匙;正在取最新的记录……”服务器几秒内就会跟上。有服务器正在跟上时,页面会自己刷新。
不可用被控早于 1.1.0,或者它的辅助程序没有运行。见故障排查。
有问题记录无法应用;会显示原因

在服务器上:

sudo 3rmonitor approvers list    # 这台服务器信任的钥匙
sudo 3rmonitor approvers trust   # 信任主控的钥匙和管理员的通行密钥
sudo 3rmonitor approvers reset   # 不再信任任何钥匙(在重新信任之前不会执行修复)

所有通行密钥都丢失时

在每台服务器上执行 sudo 3rmonitor approvers reset。

在 设置 → 通行密钥 中注册一把新的通行密钥。它又成了第一把。

在每台服务器上执行 sudo 3rmonitor approvers trust 并核对指纹。

迁移主控

主控的签名钥匙是 /var/lib/3rmonitor 中的 signing.key 文件。数据目录的备份里包含它,所以用备份恢复的主控仍然会被服务器信任。如果不用备份而是新建一个主控,服务器不会信任它的钥匙:请在每台服务器上执行上面的步骤。面板换到另一个主机名时也要这样做,因为通行密钥绑定在主机名上。

本页目录