多年来,我一直在自己的系统之间使用 1024 位 RSA 密钥进行无密码 SSH。最近,我还开始使用它来无密码访问我的托管服务提供商和源代码存储库。
长时间使用相同的密钥对并访问多个资源是否存在问题?
多年来,我一直在自己的系统之间使用 1024 位 RSA 密钥进行无密码 SSH。最近,我还开始使用它来无密码访问我的托管服务提供商和源代码存储库。
长时间使用相同的密钥对并访问多个资源是否存在问题?
我将在这里采取与其他人不同的立场。我的建议:没有必要更改您的 SSH 私钥,除非您有充分的理由更改它。
理由:加密货币不会磨损。反复使用不会变弱。
更改私钥的最大原因是您有理由怀疑它已被泄露或不再安全。例如,如果您的一台机器被黑客入侵,并且您在该机器上存储了您的私钥副本,我建议您更改您的 SSH 密钥。同样,如果您的其中一个备份是随身携带的,并且上面有您的 SSH 私钥的副本,我建议您更改您的 SSH 密钥。或者,如果您在旧的 Debian 系统上生成了您的私钥,那么它可能不安全,我建议您更改它。但是,如果您没有这样的理由怀疑您的私钥被泄露,我认为没有必要更改它。
不必要地更改密钥的缺点是现在您必须更新authorized_keys
您可能登录的每台机器上的文件。这有点乏味。
我怀疑有些人建议您更改私钥的原因是出于预防性原因:如果其中一台存储您的私钥的机器被黑客入侵,而您不知道,现在黑客不再有权访问怎么办?黑客可能仍然拥有您的私钥。因此,偶尔更改 SSH 私钥可能会有一些价值,以限制在这种情况下的暴露。但就我个人而言,我怀疑这种情况非常罕见,可能不值得麻烦更改 SSH 密钥。所以,如果其他人喜欢定期更改他们的 SSH 密钥,我可以理解他们的原因——但就个人而言,我不会打扰。
PS如果我们谈论的是主机密钥(而不是您的个人密钥),那么有一个更强有力的理由不要不必要地更改主机密钥:如果您更改主机密钥,每个尝试登录该机器的人都会开始获得警告他们可能受到攻击。如果人们经常看到这些警告,他们会开始将它们视为无意义的噪音(这将是一个男孩叫狼的情况),从而削弱了它们的价值。因此,不要无故更改主机密钥。
是的,严格来说,建议在一段时间后使 SSH 密钥过期(这可能取决于密钥长度、密钥生成器中发现的漏洞等)。然而,SSH 没有预见到这种机制。而且去每一个可能的远程主机并删除公钥是很麻烦的。
有一个解决方案——虽然我还没有尝试过,但是在我有空闲时间的时候保留它——MonkeySphere for OpenSSH 项目。据我了解,它将允许管理您的密钥的到期!
据我所知,RSA 密钥没有“密钥磨损”,因此保持相同的密钥集没有问题。如果您怀疑您的密钥可能已被泄露,您可以生成新的密钥,否则就没有必要了。