将 ssh 密钥复制到新计算机

将 ssh 密钥复制到新计算机

我正在计算机之间切换。

在旧的一台上,我有 SSH 密钥(到远程服务器、AWS 等......)

.ssh文件夹复制到新计算机是否被认为是一个好的做法?

如果不是,正确的处理方法是什么?

答案1

是的,如果您更改访问服务器的计算机,只需将~/.ssh目录从旧计算机复制到新计算机即可。没有必要(而且很麻烦)为每个服务器生成新的密钥对。您只需要新机器上的私钥。

请记住,其中~/.ssh包含敏感数据(私钥),因此请通过安全介质(例如 SCP 或 USB 驱动器;而不是通过电子邮件!)传输它。另外,请务必处理掉旧机器上存储的私钥。

答案2

~/.ssh不 - 将文件夹复制到新计算机不被视为最佳实践。相反,在您的新计算机上创建您的~/.ssh文件夹从头开始使用:

$ ssh-keygen

接下来是:

$ ssh-copy-id username@remote_host

将您的公钥复制到每个 ssh 服务器主机。

有一个很好的教程,涵盖了一些罕见的意外情况。一旦您准备好永久停用旧计算机,请务必删除其文件夹的内容~/.ssh


如果您希望将整个~/.ssh文件夹从旧计算机复制到新计算机,可以在某些情况。只需将~/.ssh旧机器上的整个文件夹复制到 USB 驱动器即可。完成后,将 USB 驱动器移动到新计算机,安装它,然后~/.ssh使用命令将其内容复制到新计算机上的文件夹中cp -a以保留适当的权限;像这样的东西:

$ cp -a /mnt/myusb/.ssh/. ~/.ssh/

答案3

强烈地不同意Seamus的回答。是的,定期更换钥匙是一个很好的做法。将其与更换硬件的时间联系起来通常不是一个好主意。您有足够多的事情需要担心,而不会失去所有远程访问权限。除非您还允许基于密码的身份验证(这首先破坏了使用密钥对身份验证的大部分原因),否则也不可能从新计算机使用 ssh-copy-id 。

如果您管理跨国银行的服务器或启动洲际弹道导弹的代码,那么您确实需要考虑从废弃硬件中恢复密钥的风险,即使您安全地删除了文件。但对于我们其他人来说,粉碎或安全删除就足够了。

相关内容