我从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文件什么权限?
我从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文件什么权限?
当前回答
对于Win10,需要将密钥移动到用户的主目录对于linuxlike操作系统,您需要chmod到700或600等。
其他回答
这是对我有用的(在mac上)
sudo chmod 600 path_to_your_key.pem
那么:
ssh -i path_to_your_key user@server_ip
希望能有所帮助
我在玩Ansible时遇到了这个错误。为了解决这个问题,我已将私钥的权限更改为600。而且成功了!
chmod 600 .vagrant/machines/default/virtualbox/private_key
对于Win10,需要将密钥移动到用户的主目录对于linuxlike操作系统,您需要chmod到700或600等。
密钥只需由您读写:
chmod 600 ~/.ssh/id_rsa
或者,密钥只能由您读取(这也会阻止您的写访问):
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包含用于身份验证的公钥。这些文件不敏感任何人都可以(但不需要)阅读。
对于Windows:
奇怪,但之前在这里描述的UI调整对我没有帮助。
但这解决了问题:
以管理员权限打开PowerShell使用您的密钥转到目录(使用cd命令)逐个输入命令
:
$path = ".\{your private key file name}" //for example "myKey"
然后键入以下命令删除显式权限:
icacls.exe $path /reset
然后将读取权限分配给当前用户:
icacls.exe $path /GRANT:R "$($env:USERNAME):(R)"
然后删除继承:
icacls.exe $path /inheritance:r
希望,会帮助某人