连接 Windows 10 bash 到 Amazon EC2 实例时出现权限被拒绝(publickey)的错误。

4

我正在尝试使用Windows 10上的Bash连接到我的Amazon EC2实例。我已经下载了MyKey.pem文件,但是它给我显示了这个消息。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0555 for 'MyKey.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: MyKey.pem
Permission denied (publickey).

在搜索过程中,我找到了这个问题尝试SSH连接Amazon Ec2实例-权限错误,但对我没有帮助。我几乎按照Amazon文档上的每一个步骤进行操作,但仍然没有结果。

我尝试使用{{code:chmod}}更改密钥模式,但没有成功。

chmod 400 MyKey.pem

我还尝试使用PuTTy连接,但它告诉我 服务器拒绝了我们的密钥 并显示了这个。

PuTTy Fatal Error

我该如何修复这个问题?


尝试使用类似于 ec2-user@[ec2实例IP] 的格式键入您的实例IP。 - auth private
我尝试了,但它显示“名称或服务未知”。 - Khaled Elsherbiny
尝试使用以下命令:ssh -i MyKey.pem ec2-user@54.93.162.155 - auth private
1
或者您也可以尝试使用以下命令:ssh -i mykey.pem ec2-user@ec2-54-93-162-155.eu-central-1.compute.amazonaws.com - auth private
是的,这是AWS的默认设置。我已经从连接页面复制了它,但仍然遇到同样的问题。我一直在寻找并尝试许多方法来解决这个问题,但不幸的是所有的尝试都失败了。这很奇怪... - Khaled Elsherbiny
1
兄弟,看看这篇文章吧:http://paulstamatiou.com/how-to-getting-started-with-amazon-ec2/ 希望对你有所帮助。 - auth private
1个回答

9

看起来您将密钥文件存储在您通常使用的文件系统中。 默认情况下,Windows 10 不允许在 /mnt/driveletter/blablabla 创建 400 权限。如果您尝试这样做,它会自动切换到 555。如果您想配置 400 权限,则可以将密钥文件转移到模拟的 Linux 文件系统中。例如,转移到 /home/username 并运行 chmod 400 key.pem。完成后,ssh 到 AWS 应该与平常一样工作。


2
非常感谢。在Linux上(通过VM)它对我起作用了。似乎我不能再在Windows 10上使用Ubuntu bash来访问我的EC2实例了。 - Khaled Elsherbiny
您可以通过简单地转到mykey.pem -> 属性 -> 安全 -> 高级 -> 删除“权限条目”中的所有用户 -> 仅添加需要连接的用户 -> 禁用继承 -> 授予完全权限来完成此操作。 - IndikaM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接