如何将计算机的身份(SSH)转移到新计算机?


18

我正在制造一台新的Ubuntu服务器作为服务器,应该用较旧的软件替换旧的。

我的问题是:

是否可以将旧计算机/服务器的凭据(以SSH形式)传输/复制到新计算机?

我的目标是使新机器取代旧机器,并在使用SSH时被其他人视为同一机器。换句话说,如果要替换一台服务器(尤其是其操作系统),我希望不必重置基于SSH的凭据就可以简化网络的升级。

谢谢

-更新-

我的特定目标是仅转移服务器的凭据,但有时我会使用ssh替换基于密码的登录,并且有关客户端/服务器连接的建议也非常有帮助。


请提供更多详细信息。用户使用密码还是SSH密钥?您是否转移用户帐户和SSH公钥?
AL

Answers:


29

服务器凭证(构成“指纹” SSH客户端是否不正确的原因)实际上只是在中定义的密钥对/etc/ssh/sshd_config

# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key

复制这些文件(带有.pub变体),复制一个指向它们的类似配置,然后重新加载sshd,然后一切就可以正常工作了。

您还需要复制客户端的公钥(人们已经将其上传到他们的公钥,~/.ssh/authorized_keys但是由于这是升级,因此您可能还是要复制这些公钥。

显然,指纹也依赖于主机名是否相同,但这听起来还是您正在执行的操作。


3

您必须将的内容附加$HOME/.ssh/id_rsa.pub到其他服务器的$HOME/.ssh/authorized_keys。幸运的是,有一个二进制文件。ssh-copy-id。它的用法很简单:ssh-copy-id -i .ssh/id_rsa.pub <user>@<remote.server>


使用时,您不会重置基于SSH的凭据ssh-copy-id
Tolga Ozses 2015年
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.