如何将PEM文件作为SSH私钥添加到“已知主机”


8

我有Ubuntu桌面,并且得到了一个PEM文件(mykey.pem),它是Linux服务器的SSH私钥。我试图弄清楚该PEM文件需要在本地放置在我的计算机上的位置,以及如何将其配置/添加到“ SSH已知主机”。

谷歌搜索此主题会为创建 SSH密钥提供很多答案/文章,但不会为已知主机添加现有密钥。有想法吗?


// , 好问题!这应该起作用:$ ssh-keygen -y -f mykey.pem >>〜/ .ssh / authorized_keys太多的IT部门只是发送了PEM文件,而没有任何有关如何在本地使用它的说明。如果有人需要更多关于此的信息,我可以添加答案。
弥敦道(Nathan Basanese)2015年

Answers:


5

我不知道不同类型的SSH密钥。但是您会将公钥而不是私钥放在目标计算机上。您的私钥保持私密。

并且源计算机的公共密钥应该放在目标计算机中。~/.ssh/authorized_keys 这可以手动完成,也可以通过ssh-keygen命令完成。

我建议您在源计算机的公钥上使用猫,并在目标计算机上的猫上使用authorized_keys,并确保源代码看起来与authorized_keys中的格式相同

known_hosts文件是自动附加到文件中的文件。您无需手动编辑。即使删除了known_hosts文件,您也可以连接。

编辑-

将一些评论纳入答案。公钥来自私钥。通常,私钥保持私有状态,但是OP被赋予了私钥,这是不寻常的,但这是一种有趣的方式,因为这意味着目标计算机可以已经拥有了他的公钥。这样他就可以登录,而不必在目标计算机的authorized_keys中添加任何内容。ssh -i始终使用私钥。他只需要做ssh -i path/to/privatekeyfile user@dest OP就使用“ openstack”,一些云服务,并且正如openstack网站所说docs.openstack.org/user-guide/content/ssh-into-instance.html $ ssh -i MyKey.pem ubuntu@10.0.0.2因此,无论私钥文件的名称如何是,无论它存储在哪里,都可以在执行操作时指定ssh -i


感谢@barlop(+1)-如果您阅读我的问题的第一句话,您会看到我说PEM文件是SSH私钥,并且我正尝试在计算机上正确安装它。我不担心服务器端,这已经为我解决了。所以我的问题是:如何在Ubuntu计算机上安装私钥?这是我没有通过生成的密钥ssh-keygen;它是由一个可靠的来源给我的。
smeeb 2015年

1
@smeeb为什么有人给您他们的私钥?他们的私钥对他们来说是私有的。
barlop 2015年

再次感谢@barlop(+1)-但这不是一个人,它是OpenStack,一个生成云的IaaS。这是一个功能强大的开源项目,拥有数百万个工时,并得到了公司的支持。这里的30,000英尺视图是:要在OpenStack Horizo​​n上创建一个新的“应用程序实例”,您需要首先创建一个SSH密钥对。OpenStack自动在新实例上安装公钥。您应该下载私钥(PEM文件)并在本地安装,以便您可以根据需要SSH进入实例。
smeeb,2015年

@smeeb我对openstack不太了解,但是您可以这样做,例如,ssh -i ~/.ssh/id_rsa bodhi@ssh.server.com 或者如openstack网站上所说 docs.openstack.org/user-guide/content/ssh-into-instance.html $ ssh -i MyKey.pem ubuntu@10.0.0.2 这样,无论私钥的名称如何文件的位置以及存储的位置,您都指定在执行操作时ssh -i
barlop 2015年

1
另外,由于公钥来自私钥,因此该命令可能会执行该命令,因为如果给您一个私钥,他们应该已经具有公钥。因此,您不必将公钥添加到他们计算机上的authenticated_keys上。
barlop 2015年
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.