在本地弃用SSH密钥对的方法


10

我使用ssh键已有一段时间了。我正在考虑将ssh密钥对升级为更强的加密,并且我不知道在其中注册了密钥的所有设备。

是否可以在本地“弃用” SSH密钥,以便在我使用弃用的SSH密钥进行身份验证时收到警告?


当您使用它时,我建议您停止对多个主机使用相同的SSH密钥;它会在不必要的情况下不必要地增加攻击面以及该密钥的价值。相反,对您连接到的每个主机使用一个密钥。理想情况下,对每个客户端和服务器使用一个密钥(但是如果您有许多客户端系统连接到许多服务器,则扩展性很差)。我还喜欢在注释或密钥名称中用生成日期标记密钥,以便我跟踪它们的年龄。然后在日历中每6-24个月左右设置一次定期提醒以进行续订。
CVn 2015年

@MichaelKjörling我不同意您的建议的第一部分。生成许多​​密钥对,其中所有私钥都以相同的权限存储在同一台计算机上,并没有提供任何重大的安全性改进。如果一个人受到损害,那么其他人也很可能也受到损害。在这种情况下,拥有许多密钥对只是意味着一旦您看到生成新密钥对的理由,旋转它们将需要做更多的工作。关于在注释中添加生成日期的部分是很好的建议(我希望ssh-keygen默认情况下会这样做)。
卡巴斯德(Kasperd),2015年

@kasperd你说的很对。我想一如既往,这在很大程度上取决于您的威胁模型。我怀疑我隐式地假设这些密钥将具有不同的密码短语,我可以看到使用大量的密钥怎么可能并不总是可行的,除非您愿意为组合添加密码管理器。但是,它确实允许非常接近OP所描述的内容,因为可以非常容易地“弃用”一个密钥而不会影响其他连接。最后,我怀疑这只是个人喜好。
CVn 2015年

Answers:


9

我不知道有什么办法可以做这样的事情,但是我可以看到它的用处。我倾向于停止将已弃用的密钥添加到我的SSH代理中。这样,每次使用它时,我都必须重新输入密码。如果是“哦,另一个要解决的问题”,那么每次必须旋转该机器上的钥匙时,它也会提醒我。


在这方面,将文件移动到另一个目录可能是有用的(取决于发行版/ DE),例如,seahorse~/. ssh自动使用所有键。
贡伯特2015年

1
任何需要烧掉的东西。这意味着当您拥有六个以上的密钥(我有十几个密钥)时,由于太多的失败(提交的每个密钥和拒绝的密钥都计入失败计数),您将最终导致身份验证失败。
womble

5

您可以将旧的ssh密钥移到非默认位置(即〜/ .ssh / deprecated_id_rsa),然后在〜/ .ssh / id_rsa上创建具有所需属性的新ssh密钥

这样,如果需要ssh -i ~/.ssh/deprecated_id_rsa ...,您仍然可以使用已弃用的密钥,但是您将默认使用新密钥。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.