我从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文件什么权限?


当前回答

在连接到AWS实例时,我在Windows上的WSL上遇到了这个问题。通过切换到经典的命令提示符,我的问题得到了解决。您可以尝试切换到不同的终端接口,看看这是否有帮助。

其他回答

我在windows 10中遇到了错误,因此我将权限设置为如下,并且可以正常工作。

详细信息,请删除其他用户/组,直到它只有“SYSTEM”和“Administrators”。然后将您的windows登录名添加到只有“读取”权限的窗口中。

请注意,id_rsa文件位于c:\users\<username>文件夹下。

AWS上Windows 10 ssh进入Ubuntu EC2“权限太开放”错误

我在尝试使用AWS的.pem文件ssh到Ubuntu EC2实例时遇到了这个问题。

在windows中,当我将此密钥放在.ssh文件夹下创建的文件夹中时,这就起作用了

C:\Users\USERNAME\.ssh\private_key

要在Windows 10中更改权限设置,请执行以下操作:

文件设置>安全>高级禁用继承将继承的权限转换为显式权限删除除管理员之外的所有权限项

然后可以安全连接。

除了公认的答案之外,如果您已经完成了所有建议的方法,并且在windows上使用了“wsl”ubuntu,那么可以在ssh命令中附加“sudo”,例如

sudo ssh-i xxx.pemxxxx@xxxx.compute-1.amazonaws.com

对于Windows 10,这是我发现的适合我的功能:

将密钥移动到Linux文件系统:mv~/.ssh/home/{用户名}设置该密钥的权限:chmod 700/home/{用户名}/.ssh/id_rsa创建指向密钥的符号链接:ln-s/home/{用户名}/.ssh~/.ssh

如果您将主目录(~)设置为存储在Windows而不是Linux中(在/mnt/vs/home/下),就会发生这种情况。

密钥上的0x00权限要求有一个例外。如果密钥由root用户拥有,而组由包含用户的组拥有,则该密钥可以是0440,并且该组中的任何用户都可以使用该密钥。

我相信这可以在集合0xx0中使用任何权限,但我还没有测试每个版本的每个组合。我已经在CentOS 6上尝试了0660和5.3p1-84,该组不是用户的主要组,而是次要组,并且工作正常。

这通常不会针对某人的个人密钥,而是针对用于自动化的密钥,在这种情况下,您不希望应用程序使用该密钥。

类似的规则适用于.ssh目录限制。