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

btw*_*btw 173 ssh amazon-ec2 chmod amazon-web-services

我正在努力在Amazon 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.
Run Code Online (Sandbox Code Playgroud)

为了昨晚进入我的个人实例,我已经将我的密钥对chm编译为600,并且在长度上进行了实验,将权限设置为0甚至生成新的密钥字符串,但似乎没有任何工作.

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


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

Stu*_*son 196

为了昨晚进入我的个人实例,我已将我的密钥对写入600

这就是应该的样子.

EC2文档我们得到"如果您正在使用OpenSSH(或任何合理的偏执SSH客户端),那么您可能需要设置此文件的权限,以便它只能由您读取." 您链接到亚马逊文档的链接的熊猫文档,但实际上并没有表明它的重要性.

这个想法是密钥对文件就像密码一样需要保护.因此,您使用的ssh客户端要求保护这些文件,并且只有您的帐户才能读取它们.

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

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

  • 做`chmod 700 filenmane.pem`工作了,谢谢 (4认同)
  • 我刚刚遇到一种情况,我希望密钥文件是组可读的(使用ssh不是为了个人登录,但为了在远程服务器上执行脚本,远程服务器上的专用用户为此目的,authorized_keys被锁定,所以只有所述脚本将运行,原始服务器上的多个人应该有权运行该脚本).哦,我想简单的解决方法是将副本放入〜/ .ssh /,以便所有有权访问的用户使用 - 或者使用所有个人密钥填充authorized_keys. (3认同)

Mar*_*iek 51

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

chmod 700 ~/.ec2
Run Code Online (Sandbox Code Playgroud)

  • 我刚刚在 .pem 文件上使用了它,它对我有用。 (3认同)
  • @Zoltán 这是一个目录,而不是文件。 (2认同)

Ale*_*ena 29

要解决此问题,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

这应该让你恢复正常运行.


小智 14

私钥文件应该受到保护.在我的情况下,我已经使用了public_key认证很长一段时间,我曾经将权限设置为600(rw- --- ---)私钥和644(rw- r-- r--)和主文件夹中的.ssh文件夹将获得700个权限(rwx --- ---).要进行此设置,请转到用户的主文件夹并运行以下命令


为.ssh文件夹设置700权限

chmod 700 .ssh
Run Code Online (Sandbox Code Playgroud)


为私钥文件设置600权限

chmod 600 .ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)


为公钥文件设置644权限

chmod 644 .ssh/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)


小智 9

使用 chmod 命令更改文件权限

sudo chmod 700 keyfile.pem
Run Code Online (Sandbox Code Playgroud)


Dhe*_*raj 8

在 Windows 上,尝试使用 git bash 并在那里使用 Linux 命令。简单的方法

chmod 400 *****.pem

ssh -i "******.pem" ubuntu@ec2-11-111-111-111.us-east-2.compute.amazonaws.com
Run Code Online (Sandbox Code Playgroud)


ANA*_*ONI 6

我也遇到了同样的问题,但是我通过将密钥文件权限更改为600来解决此问题。

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

链接:http//stackabuse.com/how-to-fix-warning-unprotected-private-key-file-on-mac-and-linux/

  • 这解决了我的问题 (2认同)