对于某些人来说,这可能是一个愚蠢的问题:)

我已经在Amazon EC2上创建了一个新的Linux实例,并且作为下载的.PEM文件的一部分,可以让我进入。

当我尝试使用SSH时:

ssh -i myfile.pem <public dns>

我有:

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

下列的这个帖子我试图将+600 pem文件chmod chmod,但是现在,当我ssh时,我就得到了:

Permission denied (publickey).

我在这里犯了什么学校男孩错误?.pem文件在我的主文件夹中(在OSX中)。这是这样的权限:

-rw-------@   1 mattroberts  staff    1696 19 Nov 11:20 amazonec2.pem

答案

问题是文件上有错误的mod。

通过执行轻松解决 -

chmod 400 mykey.pem

取自AWS指示 -

您的密钥文件一定不能公开查看以使SSH工作。如果需要,请使用此命令:CHMOD 400 mykey.pem

400仅通过使其仅阅读并仅适用于所有者来保护它。

来自: stackoverflow.com