设备与配对
每台设备都有自己的签名密钥。服务器只通过公钥识别设备,而且只有在已有设备为新设备担保时,新设备才能加入。
配对新机器
你需要同时操作两台机器,但它们不必在同一个地方:通过远程桌面或 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
它会列出这台机器尚未信任的浏览器审批器,显示每个审批器的指纹,并要求你对照该审批器页面上显示的指纹进行确认。