我从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等。

其他回答

我用sudo成功了

sudo chmod 400 pem-file.pem
sudo ssh -i pem-file.pem username@X.X.X.X

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

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

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

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

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

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

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

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

在Windows 10上,cygwin的chmod和chgrp对我来说还不够

右键单击文件->财产->安全性(选项卡)并删除除我的活动用户之外的所有用户和组。