首页 文章

ssh“权限太开放”错误

提问于
浏览
1424

我的mac出了问题,我无法在磁盘上保存任何类型的文件 . 我不得不重新启动OSX lion并重置文件和acls的权限 .

但是现在当我想提交存储库时,我从ssh得到以下错误:

Permissions 0777 for '/Users/username/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.

我应该为id_rsa文件提供哪些权限级别?

15 回答

  • 0

    我在玩Ansible时遇到了这个错误 . 我已将私钥的权限更改为 600 以解决此问题 . 它奏效了!

    chmod 600 .vagrant/machines/default/virtualbox/private_key
    
  • 2472

    什么对我有用

    chgrp用户FOLDER chmod 600 FOLDER

  • 0

    在Windows 10上,cygwin的chmod和chgrp对我来说还不够 . 我必须右键单击文件 - >属性 - >安全性(选项卡)并删除除活动用户以外的所有用户和组 .

  • 4

    这里有消息 . 如果您的私钥太开放,操作Syatems足够聪明,可以拒绝远程连接 . 它理解id_rsa的权限是敞开的风险(读取,任何人都可以编辑) .

    {一个人可能先改变你的锁,然后用他已经拥有的钥匙打开它 . }

    cd ~/.ssh
    chmod 400 id_rsa
    

    PS:

    在处理多个服务器(非 生产环境 )时,我们大多数人都觉得需要使用ssh连接远程服务器 . 一个好主意是使用一堆应用程序级代码(可能是使用jsch的java)来在服务器之间创建ssh信任 . 这种方式连接将是无密码的 . Incase,perl安装 - 也可以使用net ssh模块 .

  • 13

    密钥只能由您读取:

    chmod 400 ~/.ssh/id_rsa
    

    600似乎也很好(事实上在大多数情况下更好,因为你不需要更改文件权限来编辑它) .

    联机帮助页的相关部分( man ssh

    〜/ .ssh / id_rsa
    包含用于身份验证的私钥 . 这些文件包含敏感
    数据,应该是用户可读的,但不是
    其他人可以访问(读/写/执行) . ssh将简单地忽略私有
    密钥文件,如果是
    其他人可以访问 . 可以指定一个
    生成密钥时的密码,用于加密敏感密钥
    使用3DES的此文件的一部分 .

    把〜/ .ssh / identity.pub
    把〜/ .ssh / id_dsa.pub
    的〜/ .ssh / id_ecdsa.pub
    的〜/ .ssh / id_rsa.pub
    包含用于身份验证的公钥 . 这些文件不敏感
    任何人都可以(但不一定)可读 .

  • 23

    0600是我的定位(并且它正在工作)

  • 21

    对我来说(使用Linux的Ubuntu子系统)错误消息更改为:

    Permissions 0555 for 'key.pem' are too open
    

    在使用chmod 400之后 . 事实证明,使用root作为默认用户是原因 .

    使用cmd更改此设置:

    ubuntu config --default-user your_username
    
  • 1

    我在EC2上使用VPC并收到相同的错误消息 . 我注意到我正在使用公共DNS . 我改为私有DNS和挥发!!有效...

  • 6

    我在Windows 10中遇到了错误,因此我将权限设置为以下内容并且有效 .

    Permission for id_rsa of windows 10

    详细信息,删除其他用户/组,直到它只有“SYSTEM”和“Administrators” . 然后使用“读取”权限将您的Windows登录添加到其中 .

    请注意 id_rsa 文件位于 c:\users\<username> 文件夹下 .

  • 78

    AFAIK的 Value 观是:

    密钥文件所在的隐藏目录“.ssh”为700

    600为密钥文件“id_rsa”

  • -2

    密钥的“0x00”权限要求有一个例外 . 如果密钥由root拥有并且由拥有用户的组拥有,则它可以是“0440”,并且该组中的任何用户都可以使用该密钥 .

    我相信这将适用于集合“0xx0”中的任何权限,但我没有测试每个版本的每个组合 . 我在CentOS 6上尝试过0660和5.3p1-84,并且该组不是用户的主要组而是辅助组,并且它工作正常 .

    对于某人的个人密钥,通常不会这样做,但对于用于自动化的密钥,在您不希望应用程序能够弄乱密钥的情况下 .

    类似的规则适用于.ssh目录限制 .

  • 0

    对于Win10需要将你的密钥移动到用户的家庭目录为Linuxlike操作系统你需要chmod到700喜欢或600等 .

  • 30

    在Windows 8.1中使用Cygwin,需要运行命令:

    chgrp用户〜/ .ssh / id_rsa

    然后可以应用此处发布的解决方案,400或600即可 .

    chmod 600~ / .ssh / id_rsa

    参考:http://vineetgupta.com/blog/cygwin-permissions-bug-on-windows-8

  • 2

    在Windows 8.1上运行的与语言环境无关的解决方案是:

    chgrp 545 ~/.ssh/id_rsa
    chmod 600 ~/.ssh/id_rsa
    

    GID 545是一个始终引用'Users'组的special ID,即使您的语言环境对用户使用不同的单词也是如此 .

  • -2

    提供400权限,执行以下命令

    chmod 400 /Users/username/.ssh/id_rsa
    

    enter image description here

相关问题