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


当前回答

我在玩Ansible时遇到了这个错误。为了解决这个问题,我已将私钥的权限更改为600。而且成功了!

chmod 600 .vagrant/machines/default/virtualbox/private_key

其他回答

在Windows 8.1中使用Cygwin时,需要运行以下命令:

chgrp Users ~/.ssh/id_rsa

然后可以应用此处发布的解决方案,400或600即可。

chmod 600 ~/.ssh/id_rsa

此处引用

正如人们所说的,在Windows中,我只是将.pem文件放在C:\Users\[user]\.ssh\中,这就解决了问题。尽管您可以在bash或powershell提示符下执行chmod和其他命令行选项,但这些选项都不起作用。我没有改变rsa或其他任何东西。然后,在运行连接时,必须将pem文件的路径放在.ssh文件夹中:

ssh -i "C:\Users\[user]\.ssh\ubuntukp01.pem" ubuntu@ec[ipaddress].us-west-2.compute.amazonaws.com

对于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

希望,会帮助某人

我在EC2上使用VPC,并收到相同的错误消息。我注意到我在使用公共DNS。我把它改成了专用DNS和vola!!它奏效了。。。

AFAIK值为:

700表示密钥文件所在的隐藏目录.ssh密钥文件id_rsa为600