![ubuntu core - 备份公钥/私钥的最佳实践](https://linux22.com/image/1183623/ubuntu%20core%20-%20%E5%A4%87%E4%BB%BD%E5%85%AC%E9%92%A5%2F%E7%A7%81%E9%92%A5%E7%9A%84%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5.png)
我们正在测试将 Ubuntu Core 用于我们的物联网传感器/控制设备
我试图模拟这样一种情况,如果密钥被泄露,那么 ssh 密钥对的最佳做法是什么。在所有示例中,指令都是仅创建一对。如果发生泄露,人们首先会希望立即删除被泄露的密钥。
我使用以下方法创建了 2 个键集 - 一个作为主键集,另一个作为备份键集。
在 ubuntu SSO 中,创建了两个密钥 - 类似于主密钥和备份密钥。在 RPi 中从头开始安装 Ubuntu 核心。当我第一次登录时,它从 SSO 服务器获取了两个公钥。
然后我就可以分别使用每个密钥进行 ssh 连接。这样,就可以使用备份密钥登录设备并删除被盗的密钥。
希望这对某人有帮助。
但是,如果有更好的方法,我很想知道。
答案1
我认为,设备上的密钥越多,攻击面就越广。只需泄露一个密钥,现在您可以泄露的密钥就更多了。
在某些情况下,这样做是有道理的,但我不确定您在描述的场景中获得了什么。如果 SSH 密钥 A 被泄露,则拥有该密钥的人可以访问该设备。就是这样。同样可以访问该设备的 SSH 密钥 B 根本不在考虑范围内。因此,使用 SSH 密钥 B 访问设备以“撤销”SSH 密钥 A 并没有多大意义。SSH 密钥 A 被泄露这一事实显然并不意味着它毫无用处。您可以同样轻松地仅使用 SSH 密钥 A,然后再次使用它来访问设备,并在发生泄露时将其换成 SSH 密钥 B。然后,您只有一个可以访问该设备的密钥。您现在拥有相同的安全模型,但您的攻击面没有那么广。
如果 Ubuntu Core 能够提供一种方法来刷新与你的 SSO 帐户关联的设备上的密钥(这也有助于解决密钥丢失的情况),那就更好了,但我认为目前还不存在这种功能(请参阅 LP#1646559)。