我的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文件什么权限级别?
钥匙需要只能由你来读。
chmod 400 ~/.ssh/id_rsa
如果钥匙需要由您来读-写。
chmod 600 ~/.ssh/id_rsa
600似乎也不错(事实上在大多数情况下更好,因为你不需要在以后改变文件权限来编辑它)。
manpage (man ssh
)中的相关部分
~/.ssh/id_rsa 包含用于认证的私钥。 这些文件包含敏感 数据,应该可以被用户阅读,但不能被 其他人可以访问(读/写/执行)。 密钥文件,如果它是 的私钥文件。 可以在生成私钥时指定一个 在生成密钥时,可以指定一个口令,该口令将用于用 3DES 加密该文件的敏感部分。 该文件的敏感部分使用3DES加密。
~/.ssh/identity.pub ~/.ssh/id_dsa.pub ~/.ssh/id_ecdsa.pub ~/.ssh/id_rsa.pub 包含用于认证的公钥。 这些文件并不敏感,并且 可以(但不需要)被任何人阅读。
对于钥匙的 "0x00 "权限要求,有一个例外。如果钥匙由root拥有,并且由一个有用户的组拥有,那么它可以是 "0440",该组的任何用户都可以使用该钥匙。
我相信这将与 "0xx0 "组中的任何权限一起工作,但我没有在每个版本中测试每一种组合。我曾在CentOS 6上用5.3p1-84测试过0660,该组不是用户的主组,而是一个次要组,而且工作正常。
这通常不是针对某人的个人钥匙,而是针对用于自动化的钥匙,在这种情况下,你不希望应用程序能够乱用钥匙。
类似的规则也适用于.ssh目录的限制。