我从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中遇到了错误,因此我将权限设置为如下,并且可以正常工作。

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

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

其他回答

另一个技巧是在下载文件夹中执行此操作。从AWS EC2实例下载私钥后,文件将位于该文件夹中,然后只需键入命令

ssh-keygen -y -f myprivateKey.pem > mypublicKey.pub

正如人们所说的,在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

对于Win10,需要将密钥移动到用户的主目录对于linuxlike操作系统,您需要chmod到700或600等。

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

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

提供400许可,执行以下命令

chmod 400 /Users/username/.ssh/id_rsa