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


当前回答

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

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

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

其他回答

私钥文件需要保护。在我的情况下,我一直在使用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

如果你是在windows机器上,只需复制。pem文件到C盘的任何文件夹 重新执行该命令。

ssh -i /path/to/keyfile.pem user@some-host

在我的例子中,我把那个文件放在下载中,这实际上是可行的。

或者关注这个https://99robots.com/how-to-fix-permission-error-ssh-amazon-ec2-instance/

为了解决这个问题,

您需要将权限重置回默认值: Sudo chmod 600 ~/.ssh/id_rsa . sh Sudo chmod 600 ~/.ssh/id_rsa.pub 如果你得到另一个错误: 您确定要继续连接(是/否)?是的 日志含义添加主机到已知主机列表(/home/geek/.ssh/known_hosts)失败。 这意味着该文件的权限设置也不正确,并且可以通过以下方式进行调整: Sudo chmod 644 ~/.ssh/known_hosts . sh

最后,您可能还需要调整目录权限: Sudo chmod 755 ~/.ssh

这应该能让你重新开始工作。

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

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

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

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

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

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

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