【问题标题】:AWS EC2: generating private key file out of cert-***.pem for SSH terminal accessAWS EC2:从 cert-***.pem 生成私钥文件以进行 SSH 终端访问
【发布时间】:2012-09-14 01:46:46
【问题描述】:

我有我的访问密钥、秘密密钥和下载的证书 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 连接到我的实例的私钥文件?

提前致谢

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      您可以通过 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 连接到新服务器。

      【讨论】:

      • 谢谢。我这样做并将 pem.pub 文件上传到 AWS 控制台。但是,当我尝试连接 pem 文件时,它会要求我输入 root 密码。这可能是特定 AMI 的问题,即它被配置为需要 root 密码:>ssh -i aws_foampile_default.pem root@ec2-.compute-1.amazonaws.com >root @ec2-.compute-1.amazonaws.com 的密码:
      • 您确定 AMI 使用“root”作为登录用户吗?根据 AMI,它可能是“ec2-user”或“ubuntu”。
      猜你喜欢
      • 1970-01-01
      • 2017-12-18
      • 2016-02-29
      • 2020-09-18
      • 1970-01-01
      • 2020-05-29
      • 2016-08-26
      • 2015-12-13
      • 1970-01-01
      相关资源
      最近更新 更多