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

amp*_*ent 5 ssh amazon-ec2 amazon-web-services

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

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

我通过谷歌找到的是我需要使用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
Run Code Online (Sandbox Code Playgroud)

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

提前致谢

Mik*_*ant 9

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

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

ssh -i /path/to/aws.pem user@hostname.com
Run Code Online (Sandbox Code Playgroud)


Eri*_*ond 4

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

您无法像您尝试的那样转换或使用 ssh 的 X.509 证书或私钥。

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

如果您知道如何在本地生成自己的 ssh 密钥(或已经这样做),那么我建议您这样做并将ssh 公钥上传到 EC2

当您运行 EC2 实例时,您可以指定 ssh 密钥对名称,以便 EC2 使 ssh 公钥可供该实例使用,从而让您安全地通过 ssh 登录到新服务器。