对某些人来说,这可能是一个愚蠢的简单问题:)
我在 Amazon EC2 上创建了一个新的 linux 实例,并且作为其中一部分下载了. pem 文件,以允许我进行 SSH 输入。
当我尝试使用 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,但是现在当我使用 ssh 时,我得到的是:
Permission denied (publickey).
我在这里犯了什么男生错误? .pem 文件在我的主文件夹中(在 osx 中)。它的权限如下所示:
-rw-------@ 1 mattroberts staff 1696 19 Nov 11:20 amazonec2.pem
问题是文件上的 mod 错误。
执行即可轻松解决 -
chmod 400 mykey.pem
取自亚马逊的指示 -
您的密钥文件必须是公开可见的,SSH 才能正常工作。如果需要,请使用以下命令:chmod 400 mykey.pem
400 通过将其设置为只读且仅对所有者开放来对其进行保护。
您可能使用了错误的用户名登录:
ubuntu
ec2-user
root
或admin
要登录,您需要调整 ssh 命令:
ssh -l USERNAME_HERE -i .ssh/yourkey.pem public-ec2-host
高温超导
我知道这对游戏来说很晚了…… 但这始终对我有用:
ssh-add ~/.ssh/KEY_PAIR_NAME.pem
ssh user_name@<instance public dns/ip>
例如
ssh [email protected]
希望这对某人有帮助。