ssh“权限太开”错误
我有一个问题,我的Mac我不能保存在磁盘上的任何一种文件了。 我不得不重新启动OSX狮子并重置文件和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
编辑: 600似乎也很好(事实上在大多数情况下更好,因为你不需要改变文件权限来编辑它)。
再次编辑: manpage中的相关部分( 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.
在Windows 8.1中使用Cygwin,需要运行一个命令:
chgrp用户〜/ .ssh / id_rsa
那么这里发布的解决scheme可以应用,400或600就可以了。
chmod 600〜/ .ssh / id_rsa
参考: http : //vineetgupta.com/blog/cygwin-permissions-bug-on-windows-8
在Windows 8.1上运行的独立于语言环境的解决scheme是:
chgrp 545 ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa
GID 545是一个特殊的ID ,即使您的语言环境对用户使用不同的字,也始终指向“用户”组。
0600是我的设置(和它的工作)
AFAIK的价值是:
700用于密钥文件所在的隐藏目录“.ssh”
600为密钥文件“id_rsa”
对于一个密钥的“0x00”权限要求有一个例外。 如果密钥由拥有用户的组拥有的根和组拥有,那么它可以是“0440”,并且该组中的任何用户都可以使用该密钥。
我相信这将与任何权限的集合“0xx0”,但我没有testing每个版本的每个组合。 我已经在CentOS 6上用5.3p1-84试过了0660,而这个组不是用户的主要组,而是一个辅助组,它工作的很好。
对于某人的个人密钥,通常不会这样做,但是对于一个用于自动化的密钥,在这种情况下,您不希望应用程序能够混淆密钥。
类似的规则适用于.ssh目录限制。
什么对我有效
chgrp用户文件夹
chmod 600文件夹
在这里发信息。 如果您的私钥太开放,操作系统足够聪明地拒绝远程连接。 它理解id_rsa的权限敞开的风险(读取,任何人都可以编辑)。
{有人可能已经改变了你的锁,然后用他已经有的钥匙打开它。 }
cd ~/.ssh; chmod 400 id_rsa
PS:
在多台服务器(非生产)上工作时,大多数人觉得需要使用ssh连接远程服务器。 一个好主意是有一个应用程序级别的代码(可能是java使用jsch)在服务器之间创buildssh信任。 这种方式连接将无密码。 Incase,perl安装 – 也可以使用net ssh模块。
我在EC2上使用VPC,并得到相同的错误消息。 我注意到我正在使用公共DNS。 我改变了私人DNS和挥发! 有效…
- 检查Python脚本的用户是否具有根类权限的最佳实践是什么?
- 如果用户在显示通知时尝试授予权限,则会显示Android“屏幕覆盖检测”消息
- 如何在Linux Ubuntu Terminal中为文件夹及其所有子文件夹和文件设置chmod?
- 在Python中删除Root权限
- 运行Ruby命令时,不安全的可写dir / Users /用户名在PATH中,模式040777
- Android INJECT_EVENTS权限
- 如何授予在Gingerbread上运行的应用程序的MODIFY_PHONE_STATE权限
- Android:java.lang.SecurityException:权限拒绝:启动意图
- 清理未使用的Android权限