我的Mac出现问题,无法再在磁盘上保存任何类型的文件。 我必须重新启动OSX Lion并重置文件和ACL的权限。
但是现在当我要提交存储库时,我从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文件什么权限级别?
#1楼
密钥的“ 0x00”权限要求有一个例外。 如果该密钥由root拥有,并且由其中具有用户的组所拥有,则该密钥可以为“ 0440”,并且该组中的任何用户都可以使用该密钥。
我相信这可以在“ 0xx0”集中的任何权限下使用,但我尚未测试每个版本的每种组合。 我已经在CentOS 6上用5.3p1-84尝试了0660,该组不是用户的主要组,而是次要组,并且工作正常。
在您不希望应用程序弄乱密钥的情况下,通常不会对某人的个人密钥执行此操作,而是对用于自动化的密钥执行此操作。
类似的规则适用于.ssh目录限制。
#2楼
我在EC2上使用VPC并收到相同的错误消息。 我注意到我正在使用公共DNS。 我将其更改为私有DNS和vola !! 有效...
#3楼
什么对我有用
chgrp用户文件夹
chmod 600文件夹
#4楼
在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
#5楼
AFAIK的值为:
密钥文件所在的隐藏目录“ .ssh”的700
密钥文件“ id_rsa”为600
#6楼
在Windows 8.1上可以使用的与语言环境无关的解决方案是:
chgrp 545 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
GID 545是一个特殊的ID ,即使您的语言环境对Users使用不同的单词,它也始终引用“用户”组。
#7楼
有趣的消息在这里。 操作系统是足够聪明,拒绝远程连接,如果你的私钥是太开放。 它了解对id_rsa的权限完全开放(读取,任何人均可编辑)的风险。
{可以先改变你的锁,然后用他已经拥有的钥匙打开它}
cd ~/.ssh
chmod 400 id_rsa
在多台服务器(非生产)上工作时,我们大多数人都需要将远程服务器与ssh连接。 一个好主意是使用一段应用程序级代码(可能是Java,使用jsch)在服务器之间创建ssh信任。 这样,连接将无需密码。 如果安装了perl,也可以使用net ssh模块。
#8楼
在与Ansible玩耍时遇到了这个错误。 为了解决此问题,我将私钥的权限更改为600 。 而且有效!
chmod 600 .vagrant/machines/default/virtualbox/private_key
#9楼
在Windows 10上,cygwin的chmod和chgrp对我来说还不够。 我必须右键单击文件->属性->安全性(选项卡),然后删除除活动用户之外的所有用户和组。
#10楼
提供400权限,执行以下命令
chmod 400 /Users/username/.ssh/id_rsa
#11楼
对于Win10需要将您的关键用户的主目录为linuxlike操作系统,你需要chmod来像700或600等。
#12楼
对于我(使用Linux的Ubuntu子系统),错误消息更改为:
Permissions 0555 for 'key.pem' are too open
在使用chmod 400之后。事实证明,使用root作为默认用户是原因。
使用cmd更改此设置:
ubuntu config --default-user your_username
#13楼
我在Windows 10中遇到了错误,因此我将权限设置为以下内容,并且它可以正常工作。
详细信息,删除其他用户/组,直到只有“ SYSTEM”和“ Administrators”为止。 然后将Windows登录名添加为仅具有“读取”权限。
请注意, id_rsa
文件位于c:\\users\\<username>
文件夹下。
#14楼
这就是为我工作的东西(在Mac上)
sudo chmod 600 path_to_your_key.pem
然后 :
ssh -i path_to_your_key user@server_ip
希望它可以帮助
#15楼
我为私钥尝试了600级权限,它对我有用。 chmod 600 privateKey [dev] $ ssh -i privateKey user @ ip正常工作
chmod 755 privateKey [dev] $ ssh -i privateKey user @ ip出现以下问题:'privateKey'的权限0755太开放了。 要求他人不能访问您的私钥文件。 此私钥将被忽略。 加载密钥“ privateKey”:权限错误
#16楼
从另一台Mac迁移后,我遇到了同样的问题。 它被我的钥匙阻止连接github。
我按如下所示重置了权限,并且现在可以正常使用了。
chmod 700 ~/.ssh # (drwx------)
cd ~/.ssh
chmod 644 *.pub # (-rw-r--r--)
chmod 600 id_rsa # (-rw-------)
#17楼
0600是我的目标(正在运行)
#18楼
密钥仅可由您读取:
chmod 400 ~/.ssh/id_rsa
如果您需要密钥可读写:
chmod 600 ~/.ssh/id_rsa
600似乎也不错(实际上,在大多数情况下更好,因为您以后无需更改文件权限即可对其进行编辑)。
联机帮助页中的相关部分( man ssh
)
~/.ssh/id_rsa Contains the private key for authentication. These files contain sensitive data and should be readable by the user but not accessible by others (read/write/execute). ssh will simply ignore a private key file if it is accessible by others. It is possible to specify a passphrase when generating the key which will be used to encrypt the sensitive part of this file using 3DES. ~/.ssh/identity.pub ~/.ssh/id_dsa.pub ~/.ssh/id_ecdsa.pub ~/.ssh/id_rsa.pub Contains the public key for authentication. These files are not sensitive and can (but need not) be readable by anyone.