我正在亚马逊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脚本无法找到我的密钥文件。


当前回答

在windows上,尝试使用git bash并使用您的Linux命令。容易的方法

chmod 400 *****.pem

ssh -i "******.pem" ubuntu@ec2-11-111-111-111.us-east-2.compute.amazonaws.com

其他回答

私钥文件需要保护。在我的情况下,我一直在使用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
sudo chmod 700 ~/.ssh 
sudo chmod 600 ~/.ssh/id_rsa
sudo chmod 600 ~/.ssh/id_rsa.pub

以上3个命令应该可以解决这个问题!

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

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

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

简单地说,pem文件的权限对机器上的每个用户都是开放的,即任何人都可以读写该文件 在windows上很难做chmod的方式,我发现是使用git bash。 我遵循以下步骤

移除用户权限 Chmod ugo-rwx abc.pem 仅为该用户添加权限 chmod u + rw 执行chmod 400 Chmod 400 abc.pem

4.现在为您的实例尝试ssh -i

为了昨晚进入我的个人实例,我把我的密码修改为600,

这就是它应该有的样子。

从EC2文档中,我们有“如果您正在使用OpenSSH(或任何合理的SSH客户端),那么您可能需要设置该文件的权限,以便它只能由您读取。”你链接到亚马逊文档的Panda文档链接,但实际上并没有传达它有多重要。

其思想是密钥对文件就像密码一样,需要受到保护。因此,您正在使用的ssh客户端要求这些文件是安全的,并且只有您的帐户可以读取它们。

将目录设置为700确实应该足够了,但是只要文件是600,777就没有问题。

您遇到的任何问题都是客户端问题,因此请确保在任何后续问题中包含本地操作系统信息!