将SSH服务器密钥移动到新服务器的过程

即将在新的数据中心中将服务器移动到新的硬件上,当然这意味着一个新的IP。

什么是正确的过程(如果有的话)将SSH密钥从原始服务器移动到新的服务器,以便连接的客户端不会得到任何警告或必须再次接受任何东西?

考虑到知识产权正在发生变化,甚至有可能吗?

我必须移动哪些文件? 我假设所有的ssh_host_ *文件。

从RHEL 5转到Ubuntu 10.04。

您可以轻松地将密钥从当前服务器移动到新服务器。 你只需要确保他们进入相同的位置,并有相同的权限。

理想情况下,为了安全起见,您应该借此机会创build新密钥并更新客户密钥。

1)如果您的sshdconfiguration文件存储在/ etc / ssh /下,则需要复制所有这些文件。 你会发现在那里的sshdconfiguration,以及主机密钥对。

请确保您正确地复制权限! sshd将简单地忽略没有得到适当保护的密钥。 (同样好,作为一个无保护的私钥是一个非常糟糕的主意。)

2)如果您已经添加了受信任的远程主机的公钥并且不再需要密码,您还需要复制该信息,以便自动login再次运行。 此信息通常存储在/home/-account-/.ssh/(在authorized_keys下)。 再次,不要忘记在这里的权限。


关于IP地址的变化,假设远程客户端实际上看到了IP的变化(你不是在一些反向代理或任何东西后面),那么不,他们会要求用户再次接受证书。 (因为在远程客户端的known_hosts文件中,服务器的IP和服务器的证书是一起存储的)。更糟的是,如果您将该IP地址分配给另一个ssh服务器,甚至可能会被警告中间人攻击。

所以只需在新服务器上使用相同的(外部)IP地址是合理的。

你没有提到你的操作系统。 我可以告诉你一个RHEL主机的服务器密钥存储在/ etc / ssh中。 只需复制整个目录即可。 您将需要反弹sshd /重新启动框。

我相信只要你通过相同的DNS名称连接,你不应该得到警告。 即使有了新的IP。

– 克里斯托弗·卡雷尔