一个 ssh 密钥文件适用于多台机器,而不是与单台机器配对?

一个 ssh 密钥文件适用于多台机器,而不是与单台机器配对?

我目前正在实施密钥对登录到我的服务器,如下所示:

从我的本地笔记本电脑生成密钥对:

me@macbook:~ $ ssh-keygen -t rsa

将公钥从笔记本电脑传输到服务器:

me@macbook:$ scp ~/.ssh/id_rsa.pub [email protected]:~/id_rsa.pub

在服务器中,将公钥添加到authorized_keys文件中

$ cat id_rsa.pub >> ~/.ssh/authorized_keys

并且我禁用了 ssh 的密码登录。

问题是,密钥只能在我的笔记本电脑上使用,以便在我的服务器上进行 ssh,看起来它与我的 MacBook 笔记本电脑绑定。这意味着,如果我使用另一台计算机,我将无法使用该私钥进行 ssh。最糟糕的情况是,如果我丢失了笔记本电脑,我将被锁定,无法 ssh 进入。(如果错了,请纠正我,我搞糊涂了)

如何使私钥可用于多台机器?(例如 AWS ec2,我可以在任何地方使用 .pem 文件进行 ssh 连接)

谢谢。

以下是authorized_keys文件的内容 在此处输入图片描述

答案1

私钥与公钥配对。如果您想使用另一台机器的私钥 - 只需将其复制到另一台机器即可。它与机器无关,末尾的 @macbookpro 只是一个注释字符串,您可以将其更改为任何您喜欢的内容。

也就是说,您拥有的~/.ssh/id_rsa是您的私钥。如果您想从另一台机器使用它,请将其复制到该机器上。

  • 私钥 - 将其复制到每台需要 ssh 的机器上
  • 公钥 - 将其放在你想要 ssh 的每台机器上

您应该只将私钥传输到您控制和信任的机器上,并且您应该始终使用复杂的关键短语保护它。

相关内容