【问题标题】:How to ssh AWS EC2 using CSV secret file如何使用 CSV 机密文件对 AWS EC2 进行 ssh
【发布时间】:2020-04-30 17:29:28
【问题描述】:

我从我的 AWS IAM 安全设置中下载了 .csv 格式的密钥。我想使用这个密钥通过 ssh 进入 aws ec2 实例。我尝试使用 ssh -i 但出现“key too open”错误。所以用谷歌搜索并找到了禁用秘密文件继承的解决方案(Windows 10)。现在我遇到“不支持格式”错误。所以我尝试使用 MobaXterm 将 CSV 转换为 .ppk/.pem 格式,但没有成功。 谁能告诉我如何使用 .csv 格式的密钥在 AWS EC2 中进行 ssh?

【问题讨论】:

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


    【解决方案1】:

    我认为您的意思是您已经创建了一个 IAM 用户,将该 IAM 用户的凭证下载到一个 CSV 文件中,并且现在正尝试通过 SSH 连接到您启动的一个 EC2 实例。

    您下载的凭证是 IAM 凭证(访问密钥和秘密密钥)。它们不是 SSH 密钥。当您启动 EC2 实例时,您有机会提供密钥对。如果您提供了一个密钥对并且您有相应的私钥(PEM 文件),那么您可以使用该私钥通过 SSH 连接到实例,例如:

    ssh -i ~/.ssh/ec2.pem hostname
    

    在这种情况下,IAM 凭证的 CSV 与 SSH 访问无关。您需要与 EC2 密钥对关联的私钥。如果您使用 EC2 控制台创建了密钥对,那么此时会下载 PEM 文件。

    您拥有的 IAM 凭证可用于进行 AWS API 调用以管理 AWS 资源。例如,要启动 EC2 实例、创建 IAM 角色或删除 DynamoDB 表。您可以将它们与 SDK 和 awscli 一起使用。这些凭证与 IAM 用户相关联。如果您通常登录 AWS 控制台来管理 AWS 资源,那么您使用用户名和密码登录,但这些由 AWS 后端交换为 IAM 凭证,并且控制台在代表您调用 API 时使用这些凭证。

    【讨论】:

    • 是的,你是对的。它们是 IAM 凭证(访问密钥和秘密密钥)。我正在尝试连接到我组织的堡垒主机。我还没有启动这个实例,也没有对应的私钥。那么这些访问密钥和密钥是什么?它们的用途是什么?我可以在哪里使用它们?
    • 要访问您的堡垒主机,您可能需要 SSH 私钥,除非您使用的是 EC2 Instance Connect。我会与为您设置堡垒的人交谈,以了解如何访问它。
    • 哦!现在知道了。愚蠢的我,不知道这个访问密钥的概念。我花了一个小时在谷歌上搜索,但没有弄清楚,所以我试图将秘密访问密钥 .csv 文件转换为私钥 .pem 文件。 ?‍♀️?‍♀️。
    【解决方案2】:

    您下载的内容称为访问密钥,您将使用它来访问 AWS API、SDK 和 CLI。阅读有关它的更多信息aws IAM 就登录而言,当您创建 EC2 实例时,最终会要求您创建一个 .pem 格式的密钥。下载它并将其权限更改为 600 或 400。这将解决 key too open 错误。

    chmod 600 <path/where/you downloaded/.pem key>

    【讨论】:

      【解决方案3】:

      Jarmod 是正确的,您需要下载分配给您的 EC2 实例的密钥/对,或者创建一个新的密钥/对,将其附加到 ec2 实例,然后使用 .PEM 通过 SSH 访问 EC2 实例。 在Linux中很简单,你只需要使用这个命令来改变.pem文件的权限

      chmod 400 filename.pem
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-02
        • 1970-01-01
        • 2016-12-04
        • 2019-03-30
        • 2019-02-12
        • 2016-08-26
        • 2022-01-26
        • 1970-01-01
        相关资源
        最近更新 更多