【问题标题】:Connecting to AWS EC2 instance using Private Key and Host IP使用私钥和主机 IP 连接到 AWS EC2 实例
【发布时间】:2013-05-26 13:11:12
【问题描述】:

我有一个名为 awskey.ppk 的私钥文件和一个主机 IP 地址(我们称之为 123.45.678.910

我正在尝试使用命令行命令连接到 EC2 实例 -

ssh -i /Users/ashishagarwal/EC2/awskey.ppk ec2user@123.45.678.910

这给了我错误:

“/Users/ashishagarwal/EC2/awskey.ppk”的权限 0644 太开放。 要求您的私钥文件不能被其他人访问。 此私钥将被忽略。 错误的权限:忽略键:/Users/ashishagarwal/EC2/awskey.ppk 权限被拒绝(公钥)。

我该如何解决这个问题?

【问题讨论】:

    标签: amazon-web-services amazon-ec2


    【解决方案1】:

    两件事。

    1. chmod 将修复您的权限。该文件需要更改为 600 或 400。
    2. ppk格式是putty使用的,需要把key转成pem编码格式。为此,您可以使用 putty keygen 工具。

    【讨论】:

    • 如何使用 mac 将 ppk 转换为 openssh?
    • 我不知道有什么办法。我知道唯一有效的工具是 putty keygen (puttygen) 工具。您可以打开密钥文件并导出为 openssh 密钥格式。
    • 我终于在我的 Mac 上安装了 putty,并使用命令 - puttygen awskey.ppk -O private-openssh -o awskey.pem 将 ppk 文件转换为 pem 文件,这只是给了我错误 - Permission denied (publickey)。
    • 在这种情况下,您要么是错误的用户,要么是该用户没有获得密钥的授权。尝试使用ec2-user
    • 您是否将用户名指定为 ec2-user 或 ec2user,如示例中所示。它应该是 ec2-user。
    【解决方案2】:

    私钥文件的文件权限应为 400,可以使用

    进行更改

    chmod 400 文件路径

    确保您使用的是正确的用户名,例如 ec2-userubuntu 。如果您使用的是基于 unix 的系统,请使用 .ppk 密钥。

    【讨论】:

      【解决方案3】:

      我假设您使用的是 Mac 或 Unix(基于命令行)。

      运行这个命令:

      chmod 400 /Users/ashishagarwal/EC2/awskey.ppk
      

      然后再次运行 SSH 命令,它应该可以工作了。

      【讨论】:

      • 嗯,它有点工作。它要求我输入 SSH 密钥 awskey.ppk 的密码。我是否让 IT 人员将其发送给我,或者是否可以在没有密码的情况下连接?
      • 您必须询问为您生成 PPK 文件的人 - 他/她应该知道密码。
      猜你喜欢
      • 2019-05-16
      • 2012-01-23
      • 2014-11-28
      • 2013-06-18
      • 2018-07-14
      • 2019-09-16
      • 2012-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多