我正在制作一台新的 Ubuntu 机器作为服务器,它应该用旧软件替换旧机器。
我的问题是:
是否可以将旧机器/服务器的凭据(就 SSH 而言)传输/复制到新机器?
我的目标是新机器应该取代旧机器,并在使用 SSH 时被其他人视为同一台机器。换句话说,如果更换了一台服务器(尤其是其操作系统),我想简化网络升级,而不必重置基于 SSH 的凭据。
谢谢
- 更新 -
我的具体目标是仅为服务器传输凭据,但有时我确实使用 ssh 代替基于密码的登录,关于客户端/服务器连接的建议也很有帮助。
我正在制作一台新的 Ubuntu 机器作为服务器,它应该用旧软件替换旧机器。
我的问题是:
是否可以将旧机器/服务器的凭据(就 SSH 而言)传输/复制到新机器?
我的目标是新机器应该取代旧机器,并在使用 SSH 时被其他人视为同一台机器。换句话说,如果更换了一台服务器(尤其是其操作系统),我想简化网络升级,而不必重置基于 SSH 的凭据。
谢谢
- 更新 -
我的具体目标是仅为服务器传输凭据,但有时我确实使用 ssh 代替基于密码的登录,关于客户端/服务器连接的建议也很有帮助。
服务器凭据——构成“指纹”的 SSH 客户端会抱怨它们是否不正确——实际上只是定义在以下文件中的密钥对
/etc/ssh/sshd_config
:复制这些文件(使用它们的 .pub 变体),复制指向它们的类似配置,重新加载
sshd
,一切都应该 Just Work™。您还需要复制客户端公钥(人们已经上传到他们的公钥,
~/.ssh/authorized_keys
但由于这是升级,您可能还是要复制这些公钥。显然指纹也依赖于相同的主机名,但听起来这就是你正在做的事情。
您必须将 的内容附加
$HOME/.ssh/id_rsa.pub
到其他服务器的$HOME/.ssh/authorized_keys
. 幸运的是,有一个二进制文件;ssh-copy-id
. 它的用法很简单:ssh-copy-id -i .ssh/id_rsa.pub <user>@<remote.server>