AWS EC2:从证书生成私钥文件 - ***。pem用于SSH终端访问

时间:2012-09-13 15:52:07

标签: ssh amazon-ec2 amazon-web-services

我有我的访问密钥,密钥和下载的cert pem文件。

我知道SSH需要私钥文件才能与我的实例建立终端SSH连接。

我通过Google找到的是我需要使用puttygen将我的cert pem文件转换为私钥文件:

http://www.techrepublic.com/blog/datacenter/connect-to-amazon-ec2-with-a-private-key-using-putty-and-pageant/5085

然而,我发现的所有指令都基于GUI puttygetn而我只有CL版本,因为我在笔记本电脑上运行Linux Fedora 16。我做了yum PuTTy,它带有一个GUI,但puttygen只有一个CL版本。我在puttygen尝试做的事情如下:

>puttygen cert-***.pem -o default.pem 

puttygen: error loading `cert-***.pem': file does not begin with OpenSSH key header

任何人都可以指出我做错了什么以及我如何使用CL puttygen将我的证书文件转换为SSH可用于连接到我的实例的私钥文件?

提前致谢

2 个答案:

答案 0 :(得分:9)

如果您在命令行运行Linux,为什么需要使用puttygen进行ppk?基本上,您从AWS IS获得的密钥对的pem格式适合在ssh命令行中使用。

因此,如果您将.pem文件从亚马逊保存为/path/to/aws.pem,那么您需要做的就是

ssh -i /path/to/aws.pem user@hostname.com

答案 1 :(得分:4)

ssh私钥与X.509证书和私钥完全不同。这有点令人困惑,因为人们经常将EC2生成的ssh私钥保存在" .pem"文件就像cert和pk一样使用。

您无法按照自己的意愿转换或使用s.5的X.509证书或私钥。

您可以通过AWS console上的Amazon EC2或通过AWS命令行工具(ec2-add-keypair)生成ssh私钥(有时称为"密钥对")。如果您使用Putty,您可能仍需要转换为PPK格式,如您引用的文章所述,但您要转换ssh密钥.pem文件,而不是X.509私钥或证书。

如果你知道如何在本地生成自己的ssh密钥(或者已经这样做了),那么我建议你这样做uploading the ssh public key to EC2

当您运行EC2实例时,然后指定ssh密钥对名称,以便EC2使ssh公钥可用于实例,从而安全地ssh到新服务器。