使用私钥和主机 IP 连接到 AWS EC2 实例

Posted

技术标签:

【中文标题】使用私钥和主机 IP 连接到 AWS EC2 实例【英文标题】:Connecting to AWS EC2 instance using Private Key and Host IP 【发布时间】: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 权限被拒绝(公钥)。

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

两件事。

    chmod 将修复您的权限。该文件需要更改为 600 或 400。 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 文件的人 - 他/她应该知道密码。

以上是关于使用私钥和主机 IP 连接到 AWS EC2 实例的主要内容,如果未能解决你的问题,请参考以下文章

AWS EC2:ssh:连接到主机 10.0.0.206 端口 22:连接超时

使用 MySQL Workbench 通过 EC2 实例连接到 Amazon RDS 实例

如何连接到 AWS 中的 EC2 实例?

如何使用安全外壳扩展从 chromebook 连接到 aws ec2 服务器?

使用 IP 地址连接到 AWS EC2

从Web连接到EC2实例