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

Dan*_*tep 9 ssh ssh-keys

很快就会将服务器迁移到新数据中心的新硬件上,当然这意味着新 IP。

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

考虑到 IP 正在发生变化,甚至有可能吗?

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

从 RHEL 5 迁移到 Ubuntu 10.04。

Mik*_*ike 8

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

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

  • 我忘了补充一点,当您的用户连接到新主机时,他们可能会收到警告,说明他们的 knownhosts 文件中已经有一个与他们正在验证的密钥相匹配的主机。这意味着他们必须删除其已知主机文件中的条目。你绕不开这个。 (2认同)

Arn*_*out 5

1) 如果您的 sshd 配置文件存储在 /etc/ssh/ 下,您需要复制所有这些文件。您会在那里找到 sshd 配置以及主机密钥对。

确保您也正确复制了权限!sshd 将简单地忽略未得到适当保护的密钥。(也很好,因为不受保护的私钥是一个非常糟糕的主意。)

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


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

因此,在新服务器上使用相同的(外部)IP 地址是有意义的。