我从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文件什么权限?
当前回答
我正在使用Windows 10,并尝试通过SSH连接到EC2实例。不要使用Cygwin for Windows,而是尝试使用Git Bash。在为密钥执行chmod 400之后,我可以通过SSH连接到EC2实例,但从Cygwin看,这一点不适用。Windows将.pem文件视为来自internet并阻止它,即使禁用继承也不起作用。
我将文件转换为.ppk格式,PuTTY也能正常工作,但Cygwin无法正常工作。
其他回答
对于Win10,需要将密钥移动到用户的主目录对于linuxlike操作系统,您需要chmod到700或600等。
仅适用于windows用户。转到文件属性-->安全-->高级
禁用继承属性将继承的权限转换为显式权限。删除除管理员之外的所有权限条目。
适用于Windows 8.1的独立于区域设置的解决方案是:
chgrp 545 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
GID 545是一个特殊的ID,它总是指“用户”组,即使您的语言环境使用了不同的“用户”。
对于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
希望,会帮助某人
对于Windows 10,这是我发现的适合我的功能:
将密钥移动到Linux文件系统:mv~/.ssh/home/{用户名}设置该密钥的权限:chmod 700/home/{用户名}/.ssh/id_rsa创建指向密钥的符号链接:ln-s/home/{用户名}/.ssh~/.ssh
如果您将主目录(~)设置为存储在Windows而不是Linux中(在/mnt/vs/home/下),就会发生这种情况。