无法从 windows 连接到 EC2 实例

Unable to connect to EC2 instance from windows

我在 windows 10。我已经在 AWS 上启动了一个 EC2 实例并为其下载了 pem 文件。 我正在尝试从终端连接到实例。当我 运行 命令时:

ssh -i "mykey.pem" ec2-user@<ip>

我收到错误:

Permissions 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.
Load key "mykey.pem": bad permissions
<ip>: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

根据一些在线建议,我 运行 使用 cygwin 对密钥文件执行以下命令:

chmod 400 mykey.pem

但我仍然看到同样的错误。

我需要什么才能让它工作?

能不能试试用ls -l查看权限,看看是否有合适的权限。

您是否也可以尝试以下方法:

  1. 右键单击 mykey.pem 文件并单击安全并删除所有权限。
  2. 同时单击高级和禁用继承。
  3. 然后给予适当的权限再试一次。

Windows 不接受在其文件系统中创建 400 权限。如果您尝试这样做,它会自动切换到 555。使用 Putty 连接到您在 AWS 上的 EC2 linux 实例。

以下是 AWS 文档中有关如何执行此操作的步骤 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html

转到您的 pem 文件 > 右键单击​​ > Select 属性 > 转到安全选项卡 > 单击高级。然后你会看到这个UI

然后从权限条目中删除所有条目。 如果由于继承而无法删除条目,请单击名为禁用继承的按钮,然后删除所有条目。

然后点击添加按钮 > Select 主体 > 点击对象类型 > 仅 Select 用户 > 点击确定 > 然后点击高级按钮 > 立即查找 > 然后 select用户(这里的用户应该和pem文件的所有者一样)>给他所有的权限>并应用所有的更改 仅 selecting 用户后单击确定 确保您 select 是我案例中 BASANTA KC 文件的所有者 给予许可。好的,然后申请 :)