警告:未保护的私钥文件! 尝试SSH到Amazon EC2实例时

我正在努力在Amazon EC2实例上设置Panda。 我昨晚设置了我的帐户和工具,使用SSH与我自己的个人实例进行交互没有问题,但现在我没有被允许进入Panda的EC2实例。 pandas入门

我收到以下错误:

@ 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. 

为了进入我个人的实例昨天晚上我已经把我的密钥对修改为600,并试验了将权限设置为0甚至生成新的密钥string,但似乎没有任何工作。

任何帮助都将是一个很大的帮助!


嗯,好像除非目录上的权限设置为777,ec2-run-instances脚本无法find我的密钥文件。 我是SSH新手,所以我可能会忽略一些东西。

为了进入我个人的实例,我已经把我的密钥对调到了600,

这是它应该的方式。

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

这个想法是,密钥对文件就像密码,需要保护。 所以,你使用的SSH客户端要求这些文件是安全的,只有你的帐户可以读取它们。

将目录设置为700确实应该足够了,但只要文件是600,777就不会受到伤害。

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

确保包含私钥文件的目录设置为700

 chmod 700 ~/.ec2 

要解决这个问题,1)你需要将权限重置为默认值:

sudo chmod 600 ~/.ssh/id_rsa sudo chmod 600 ~/.ssh/id_rsa.pub

如果您遇到另一个错误:您确定要继续连接(是/否)吗? 是无法将主机添加到已知主机列表(/home/geek/.ssh/known_hosts)。

2)这意味着该文件的权限也设置不正确,可以用这个来调整:

sudo chmod 644 ~/.ssh/known_hosts

3)最后,您可能还需要调整目录权限:

sudo chmod 755 ~/.ssh

这应该让你备份和运行。

私钥文件应该受到保护。 在我的情况下,我一直使用public_keyauthentication很长一段时间,我用来设置私钥和644(rw- r– r–)的权限为600(rw- — —)主文件夹中的.ssh文件夹将有700个许可(rwx — —)。 要设置这个转到用户的home文件夹并运行下面的命令

设置.ssh文件夹的700权限

 chmod 700 .ssh 

设置私钥文件的600权限

 chmod 600 .ssh/id_rsa 

设置公钥文件的644权限

 chmod 644 .ssh/id_rsa.pub 

将您的私钥,公钥,known_hosts保存在同一个目录中,并尝试login如下:

ssh -I(小我)“hi.pem”ec2-user @ ec2- .us-west-2.compute.amazonaws.com

  • 在相同的目录中,cd / Users / prince / Desktop现在键入ls命令,你应该看到**。pem **。ppk known_hosts

注意:您必须尝试从同一目录login。 否则,您将获得权限被拒绝的错误,因为它不能从当前目录中获取.ppm文件。

我正在考虑其他事情,如果您尝试使用不存在的用户名login,则会显示此消息。

所以我假设你可能试图用ec2用户ssh,但我记得最近大多数centos AMI例如使用centos用户而不是ec2用户

所以如果你是ssh -i file.pem centos@public_IP请告诉我你正在使用正确的用户名ssh,否则这可能是你看到这样的错误信息的强有力的原因,即使你的〜/ .ssh / id_rsa或file.pem