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


当前回答

我用sudo成功了

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

其他回答

0600是我的设定值(并且正在工作)

我正在使用Windows 10,并尝试通过SSH连接到EC2实例。不要使用Cygwin for Windows,而是尝试使用Git Bash。在为密钥执行chmod 400之后,我可以通过SSH连接到EC2实例,但从Cygwin看,这一点不适用。Windows将.pem文件视为来自internet并阻止它,即使禁用继承也不起作用。

我将文件转换为.ppk格式,PuTTY也能正常工作,但Cygwin无法正常工作。

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

适用于Windows 8.1的独立于区域设置的解决方案是:

chgrp 545 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa

GID 545是一个特殊的ID,它总是指“用户”组,即使您的语言环境使用了不同的“用户”。

我尝试了对我的私钥进行600级的权限,结果成功了。

chmod 600 privateKey 
[dev]$ ssh -i privateKey user@ip

另一方面

chmod 755 privateKey 
[dev]$ ssh -i privateKey user@ip

给出以下问题:

Permissions 0755 for 'privateKey' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "privateKey": bad permissions