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

gil*_*ero 12 ssh-keys

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

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

me@macbook:~ $ ssh-keygen -t rsa
Run Code Online (Sandbox Code Playgroud)

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

me@macbook:$ scp ~/.ssh/id_rsa.pub user@myserver.com:~/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)

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

$ cat id_rsa.pub >> ~/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)

我禁用了 ssh 的密码登录。

问题是,密钥只能在我的笔记本电脑中用于在我的服务器中进行 ssh,看起来它与我的 macbook 笔记本电脑绑定。这意味着,如果我使用另一台计算机,我将无法使用该私钥进行 ssh。最坏的情况,如果我丢失了我的笔记本电脑,我将被锁定,无法通过 ssh 进入。(如果错了请纠正我,我很困惑)

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

谢谢。

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

Eig*_*ony 24

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

即你有~/.ssh/id_rsa哪个是你的私钥。如果您想在另一台机器上使用它,请将其复制到该机器上。

  • 私有密钥-这个复制到你想SSH每一台机器
  • 公钥 - 把它放在你想通过 ssh连接的每台机器

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