首页 文章

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

提问于
浏览
140

我没有被允许进入Panda的EC2实例 . Getting Started with Panda

我收到以下错误:

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

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

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


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

8 回答

  • 0

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

    这就是应该的样子 .

    EC2 documentation我们有"If you're using OpenSSH (or any reasonably paranoid SSH client) then you'll probably need to set the permissions of this file so that it's only readable by you."链接到亚马逊的链接的熊猫文档's documentation but really doesn' t表达了它的重要性 .

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

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

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

  • 166

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

    chmod 700 ~/.ec2
    
  • 11

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

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

  • 1

    私钥文件应该受到保护 . 在我的情况下,我已经使用了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
    
  • 0

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

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

    • 在某种意义上相同的目录,cd / Users / prince / Desktop现在输入ls命令你应该看到** . pem ** . ppk known_hosts

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

  • 44

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

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

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

  • 1

    我正在考虑其他事情,如果您尝试使用不存在的用户名登录,则这将是您将获得的消息 .

    所以我假设您可能尝试使用ec2-user进行ssh但我记得最近大多数centos AMI例如使用centos用户而不是ec2-user

    所以,如果你是 ssh -i file.pem centos@public_IP 请告诉我你正在使用正确的用户名来ssh,否则这可能是你看到这样的错误信息的一个很好的理由,即使你的〜/ .ssh / id_rsa或file.pem拥有正确的权限

  • 19

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

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

相关问题