使用私钥和主机 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-user
或 ubuntu
。如果您使用的是基于 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 实例