我应该备份SSH主机密钥吗?


8

在我的自动备份中,我不确定是否应该这样做。如果硬盘驱动器发生故障,或者如果我擦拭硬盘然后重新启动,从客户端开始使用新的SSH主机密钥会产生什么影响?除了从每个客户端的known_hosts文件中删除主机名之外,我是否还需要做其他特别的事情?在这种情况下最好的办法是什么?我正计划擦拭计算机,并在接下来的几天内从头开始。

Answers:


10

如果要在计算机上重新安装操作系统,但是您认为它仍然是“同一台”计算机,则必须备份SSH私钥并在安装后将其还原。如果要重复使用相同的硬件来制作其他系统,则必须为新系统生成一个新密钥。确定它是否仍是同一台计算机是一个语义决定,因此这取决于您;恢复或重新生成SSH密钥是此决定的实现。

如果您是唯一访问该计算机的人,则没关系。如果您还有其他用户,则更改SSH密钥将引起麻烦:

  • 少数同时具有安全意识和知识的用户会担心正在发生的不良情况,并试图带外与您联系以警告您他们可能受到攻击。
  • 很少有知识的用户,但不懂偏执狂,他们将删除旧的SSH密钥以消除错误消息,并抱怨sysadmin更改密钥。
  • 大多数忽略消息的用户只会看到他们无法连接,并可能与您联系以寻求帮助。

如何备份ssh私钥?我打算进行全新的操作系统安装
ltdev

@Lykos这只是一个文件(实际上,每个算法一个文件,为了方便起见还备份了公钥文件,即使可以从私钥文件重建它)。通常位于/etc/ssh_host_*_key*/etc/ssh/ssh_host_*_key*
吉尔斯(Gilles)的“停止邪恶”(SO-别停止做恶事),

不知道如果我理解正确的,但我可以做的cat ~/.ssh/id_rsa.pub,并 cat ~/.ssh/id_rsa.pub在一个txt文件中的内容复制作为备份?
ltdev

@Lykos这些是用户公共密钥,与这个特定问题无关。我不知道您想做什么,但通常最重要的是备份私钥。不要混淆主机密钥和用户密钥(我敢肯定我们对这个问题有一个或三个问题)。
吉尔斯(Gillles)“所以-别再作恶了”

2

除非有一个世界之外的人连接到您的系统上,并且您希望他们的服务更改尽可能不间断,否则创建新的主机密钥可能也是一样。如果您擦除系统并从头开始,则它确实与以前的系统不同,并且ssh客户端会正确地希望通知您系统已更改。如果您无法连接到新主机,则不会受到任何疯狂的限制,那么更新已知主机文件应该很容易。

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.