5

我有我的访问密钥、密钥和下载的证书 pem 文件。

我了解 SSH 需要一个私钥文件才能与我的实例建立终端 SSH 连接。

我通过谷歌找到的是我需要使用 puttygen 将我的证书 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 连接到我的实例的私钥文件?

提前致谢

4

2 回答 2

10

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

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

ssh -i /path/to/aws.pem user@hostname.com
于 2012-09-13T17:46:46.090 回答
4

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

您不能像您尝试的那样转换或使用 X.509 证书或私钥来进行 ssh。

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

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

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

于 2012-09-13T17:14:35.457 回答