设备与配对

每台设备都有自己的签名密钥。服务器只通过公钥识别设备,而且只有在已有设备为新设备担保时,新设备才能加入。

配对新机器

你需要同时操作两台机器,但它们不必在同一个地方:通过远程桌面或 SSH 连接到旧机器也可以。

keygrant devices add      # 在已加入账户的设备上运行:显示配对码
keygrant pair             # 在新机器上运行:输入配对码

随后两边屏幕都会显示一个指纹。在旧设备上输入 yes 之前,请确认两者一致。正是这一步阻止了恶意服务器配对它自己的设备。之后新机器会要求你输入一次账户密码,然后它就成为一台可以同步和解密的完整设备。

配对码有效期为 10 分钟,且只能使用一次。

将手机或浏览器配对为审批器

像上面一样运行 keygrant devices add,但不运行 keygrant pair,而是在 app.keygrant.app 输入配对码。这个浏览器就成为一个审批器:它可以批准或拒绝请求,能看到密钥名称,但永远看不到密钥值。参见手机审批器。

列出设备

keygrant devices
502a-11fb-b656-cd08  cli      Edward-GT14  9c1e40d2-6a1b-4f0e-9d33-2c8f1a7b5e60  (this device)
70f7-91ef-71ed-72e1  browser  chrome-win   3a77c0e9-81d4-4b52-a6f1-0e9b2d4c7a13

各列依次为:指纹、类型(cli 或 browser)、名称、设备 ID。

移除设备

keygrant devices remove 3a77          # 只要唯一,输入 ID 前缀即可

系统会要求你输入 remove 进行确认。移除一台 cli 设备还会轮换密钥库密钥:生成一个新密钥并重新加密每个条目,这样丢失设备上缓存的密钥就无法打开新数据了。

丢失的机器上已经同步过的密钥仍然留在那台机器上。如果它是丢失或被盗,还要到各个服务商那里轮换真实的 API key。

信任在其他设备上配对的审批器

CLI 设备只接受它信任的审批器给出的审批结果。配对该审批器的设备会自动信任它;在你的其他机器上运行:

keygrant devices trust

它会列出这台机器尚未信任的浏览器审批器,显示每个审批器的指纹,并要求你对照该审批器页面上显示的指纹进行确认。