我正在亚马逊EC2实例上设置Panda。 我昨晚设置了我的帐户和工具,使用SSH与我自己的个人实例交互没有问题,但现在我不被允许进入Panda的EC2实例。 从熊猫开始

我得到以下错误:

@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @

Permissions 0644 for '~/.ec2/id_rsa-gsg-keypair' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.

昨晚,为了进入我的个人实例,我已经将我的keypair chmod为600,并尝试将权限设置为0,甚至生成新的密钥字符串,但似乎什么都不起作用。

任何帮助都是极大的帮助!


嗯,似乎除非目录的权限设置为777,否则ec2-run-instances脚本无法找到我的密钥文件。


当前回答

私钥文件需要保护。在我的情况下,我一直在使用public_key身份验证很长一段时间,我过去设置权限为600 (rw- --- ---)私钥和644 (rw- r——r——)和主文件夹中的.ssh文件夹,你将有700权限(rwx --- ---)。要设置此设置,请转到用户的主文件夹并运行以下命令

为“。ssh”文件夹设置700权限

chmod 700 .ssh

设置私钥文件权限为600

chmod 600 .ssh/id_rsa

设置公钥文件权限为644

chmod 644 .ssh/id_rsa.pub

其他回答

我在想别的事情,如果你试图登录一个不同的用户名,不存在,这是你会得到的消息。

因此,我假设您可能试图使用ec2-user进行ssh,但我记得最近大多数centos ami使用centos user而不是ec2-user

所以如果你是 SSH -i文件。pem centos@public_IP请告诉我你正在尝试用正确的用户名ssh,否则这可能是你看到这样的错误消息的一个强烈原因,即使你的~/有正确的权限。Ssh /id_rsa或file.pem

将您的私钥、公钥、known_hosts放在同一个目录下,尝试登录如下:

ssh -I(small i) "hi.pem" ec2-user@ec2-**-***-**-***.us-west-2.compute.amazonaws.com

同样的目录, cd /用户/王子/桌面。 现在输入ls命令 你们应该看到 **pem * *。ppk known_hosts

注意:你必须尝试从相同的目录登录,否则你会得到一个权限拒绝错误,因为它不能从你的当前目录找到。pem文件。


如果您希望能够从任何目录进行SSH,可以向您的~/添加以下内容。ssh /配置文件…

Host your.server
HostName ec2-user@ec2-**-***-**-***.us-west-2.compute.amazonaws.com
User ec2-user
IdentityFile ~/.ec2/id_rsa-gsg-keypair
IdentitiesOnly yes

现在,不管目录在哪里,只要输入SSH your就可以SSH到服务器。服务器(或任何你放在“主机”后面的名称)。

私钥文件需要保护。在我的情况下,我一直在使用public_key身份验证很长一段时间,我过去设置权限为600 (rw- --- ---)私钥和644 (rw- r——r——)和主文件夹中的.ssh文件夹,你将有700权限(rwx --- ---)。要设置此设置,请转到用户的主文件夹并运行以下命令

为“。ssh”文件夹设置700权限

chmod 700 .ssh

设置私钥文件权限为600

chmod 600 .ssh/id_rsa

设置公钥文件权限为644

chmod 644 .ssh/id_rsa.pub

给无意中发现这一点的人一个提示:

如果您正在尝试使用已与您共享的密钥进行SSH,例如:

SSH -i /path/to/keyfile。pem user@some-host

密钥文件的地方。Pem是与您共享的私钥/公钥,您使用它来连接,请确保将其保存到~/。Ssh /和chmod 777。

试图使用文件时,它被保存在我的机器上的其他地方给出了OP的错误。不确定是否有直接关系。

我也有同样的问题,但我通过将我的密钥文件权限更改为600来解决它。

Sudo chmod 600 /path/to/my/key.pem