<p>对某些人来说,这可能是一个愚蠢而简单的问题:)<br />
我在 Amazon EC2 上创建了一个新的 linux 实例,作为实例的一部分,下载了.pem 文件以允许我通过SSH登录。<br />
当我尝试使用 ssh 时:<br />
ssh -i myfile.pem <public dns><br />
我得到:<br />
警告:未受保护的私钥文件!<br />
“amazonec2.pem”的权限0644太开放了。<br />
建议其他人不能访问您的私钥文件。<br />
此私钥将被忽略。<br />
错误的权限:忽略密钥:amazonec2.pem<br />
权限被拒绝(公钥)。<br />
在这篇文章之后,我尝试对 pem 文件使用 chmod+600,但现在当我使用 ssh 时,我只得到:权限被拒绝(公钥)。<br />
我在这里犯了什么小学生错误? .pem 文件位于我的主文件夹中(在 osx 中)。它的权限如下所示:<br />
-rw-------@ 1 mattroberts staff 1696 19 Nov 11:20 amazonec2.pem</p>
<p>问题是文件上的 mod 错误。<br />
通过执行-<br />
chmod 400 mykey.pem<br />
摘自亚马逊的说明 –<br />
您的密钥文件不得公开查看,SSH 才能正常工作。 如果需要,请使用此命令:chmod 400 mykey.pem<br />
400 通过使其只读且仅供所有者使用来保护它。</p>