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


11

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

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

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

从笔记本电脑向服务器传输发布密钥:

me@macbook:$ scp ~/.ssh/id_rsa.pub user@myserver.com:~/id_rsa.pub

在服务器中,将发布密钥添加到authorized_keys文件中

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

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

问题在于,该密钥只​​能在我的笔记本电脑中用于在服务器中ssh加密,好像它已与我的macbook笔记本电脑绑定在一起。这意味着,如果我与另一台计算机在一起,则将无法使用该私钥进行ssh。在最坏的情况下,如果我丢失了笔记本电脑,我将被锁住,无法进入。(如果更正我,我会感到困惑)

如何使私钥可用于多台计算机?(就像AWS ec2一样,我可以在任何地方使用.pem文件ssh)

谢谢。

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

Answers:


20

私钥与公钥配对。如果要使用另一台计算机上的私钥-只需将其复制到该另一台计算机上即可。它与机器无关,最后的@macbookpro只是一个注释字符串,您可以将其更改为任何您喜欢的名称。

即您拥有~/.ssh/id_rsa哪个是您的私钥。如果要从另一台计算机上使用它,请将其复制到该计算机上。

  • 私钥-将此密钥复制到要从 ssh进行加密的每台计算机上
  • 公钥-将其放在要ssh锁定的每台计算机

您应该只将私钥转移到您控制和信任的计算机上,并且应始终使用复杂的密钥短语对其进行保护。


1
谢谢。如何删除“ authorized_keys”文件中的xxx @ macbookrpo字符串?
gilzero

不记得,如果一个评论需要有,但你一定可以将其更改为你喜欢的任何东西。仅在authorized_keys文件中,以提醒您该公钥的来源。
八比特通
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.