我有我的访问密钥,密钥和下载的cert pem文件。
我知道SSH需要私钥文件才能与我的实例建立终端SSH连接。
我通过Google找到的是我需要使用puttygen将我的cert pem文件转换为私钥文件:
然而,我发现的所有指令都基于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可用于连接到我的实例的私钥文件?
提前致谢
答案 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到新服务器。