很快将把服务器迁移到新数据中心的新硬件上,当然这意味着新的 IP。
将 SSH 密钥从原始服务器移动到新服务器的正确过程是什么(如果有的话),以便连接客户端不会收到任何警告或必须再次接受任何内容?
考虑到 IP 正在改变,这可能吗?
我必须移动哪些文件?我假设是所有 ssh_host_* 文件。
从 RHEL 5 迁移到 Ubuntu 10.04。
答案1
您可以轻松地将密钥从当前服务器移动到新服务器。您只需确保它们进入相同的位置并具有相同的权限即可。
不过,理想情况下,您应该借此机会创建新密钥并更新客户端密钥以确保安全。
答案2
1) 如果您的 sshd 配置文件存储在 /etc/ssh/ 下,则需要复制所有这些文件。您会在那里找到 sshd 配置以及主机密钥对。
确保您也正确复制了权限! sshd 将忽略未得到适当保护的密钥。(这也是好事,因为不受保护的私钥是一个非常糟糕的想法。)
2) 如果您已经添加了受信任的远程主机的公钥,并且不再需要密码才能登录,您还必须复制该信息,以便自动登录现在再次工作。此信息通常存储在 /home/-account-/.ssh/(在 authorized_keys 下)。再次提醒,不要忘记此处的权限。
关于IP地址的变化,假设远程客户端实际上看到IP的变化(您没有使用某些反向代理或任何东西),那么不会,他们将要求用户再次接受证书。(因为在远程客户端的known_hosts文件中,服务器的IP和服务器的证书存储在一起)更糟糕的是,如果您将该IP地址分配给另一个ssh服务器,他们甚至可能会被警告中间人攻击。
因此,在新服务器上使用相同的(外部)IP 地址是有意义的。
答案3
您没有提到您的操作系统。我可以肯定地告诉您,RHEL 主机将服务器密钥存储在 /etc/ssh 中。只需将该目录完整复制过来即可。然后您需要重新启动 sshd/重启该框。
我相信,只要您通过相同的 DNS 名称进行连接,就不会收到警告。即使使用新的 IP。——
Christopher Karel