【问题标题】:Getting "Warning: unprotected private key file!" error message while attempting to import SSH key [closed]收到“警告:未受保护的私钥文件!”尝试导入 SSH 密钥时出现错误消息 [关闭]
【发布时间】:2014-11-10 05:29:24
【问题描述】:

请有人向我解释一下,以及我可以做些什么来解决我的权限问题。这似乎阻止了我获取主机 heroku 的真实性并修复我的密钥问题。

david@daniel-Inspiron-531:~$ ssh-add david/.ssh/id_rsa
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0775 for 'david/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
david@daniel-Ins

【问题讨论】:

    标签: heroku ssh-keys


    【解决方案1】:

    我建议您使用

    重新创建一组密钥
    ssh-keygen -t rsa -C '<email>'
    

    为了更安全的系统。否则将权限更改为不那么开放的权限即可。

    要更改权限,请使用

    chmod  400 ~/.ssh/id_rsa
    

    【讨论】:

    • 它有效。我有 10 台服务器,我将 id_rsa 从 server1 复制到所有其他 9 台服务器,然后出现此错误。为了解决它,我应用了 chmod 400 ~/.ssh/id_rsa,我现在可以执行 $ git clone。
    • 这对我有用:- sudo chmod 600 ~/.ssh/id_rsa -- sudo chmod 600 ~/.ssh/id_rsa.pub
    • 权限可以是 400 或 600
    • 对我来说只有 400 个工作,600 个导致尝试从 github 存储库获取时超时
    • 我在此链接中尝试了等效的 windows 方法:gist.github.com/jaskiratr/cfacb332bfdff2f63f535db7efb6df93
    【解决方案2】:

    只需将密钥文件的权限重置为默认值

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

    【讨论】:

    • 私钥命令正确。另一方面,公钥必须对所有人都具有读取权限。如果您将权限限制为仅用户/所有者,您将来可能会遇到一些问题。此命令可以解决问题 sudo chmod a=r ~/.ssh/id_rsa.pubsudo chmod 644 ~/.ssh/id_rsa.pub
    【解决方案3】:

    只需将/.ssh/id_rsa文件的权限改为400

    #chmod  400 ~/.ssh/id_rsa
    

    这不会使其他人或来自任何组的成员修改文件。

    【讨论】:

      【解决方案4】:

      如果你使用的是WSL,首先可以将file.pem复制到~/.ssh/

      复制文件.pem

      cp file.pem ~/.ssh/
      

      更改权限:

      chmod 600 ~/.ssh/file.pem
      

      完成,用ssh-add重试

      【讨论】:

        【解决方案5】:

        如果您使用的是 WSL,可以将 file.pem 复制到 ~/.ssh/

        复制文件.pem

        cp file.pem ~/.ssh/
        

        更改权限:

        chmod 600 ~/.ssh/file.pem
        

        完成,用你的ssh-add再试一次

        eval `ssh-agent -s`
        ssh-add ~/.ssh/file.pem
        

        【讨论】:

          【解决方案6】:

          您应该将文件的所有者(包含私钥)更改为具有完全访问权限的用户名。然后删除有权访问该文件的其他用户名。

          右键单击包含私钥的文件,然后单击属性,然后单击安全选项卡> 高级通过单击更改按钮,您可以将所有者更改为您的用户名。 (如果您不知道用户名的名称,请在命令提示符中运行:“echo %USERNAME%”。)更改>高级...>立即查找

          删除除刚刚添加的之外的所有权限条目

          点击禁用继承>转换继承的权限.....然后删除所有权限条目,除了您刚刚添加的条目。

          【讨论】:

            猜你喜欢
            • 2010-09-17
            • 2016-08-08
            • 2018-09-06
            • 2017-02-22
            • 2016-02-23
            • 2011-02-18
            • 1970-01-01
            • 2018-07-30
            相关资源
            最近更新 更多