我从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上,cygwin的chmod和chgrp对我来说还不够

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

其他回答

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

这里有有趣的消息。如果您的私钥太开放,操作系统足够聪明,可以拒绝远程连接。它了解id_rsa的权限是完全开放的(可以阅读,任何人都可以编辑)的风险。

{一个人可以先换锁,然后用他已有的钥匙打开它}

cd ~/.ssh
chmod 400 id_rsa

在使用多个服务器(非生产服务器)时,我们大多数人都觉得需要使用ssh连接远程服务器。一个好主意是使用一段应用程序级代码(可以是使用jsch的java)在服务器之间创建ssh信任。这种方式的连接将是无密码的。如果安装了perl,那么也可以使用netssh模块。

对于我(使用Windows的Ubuntu子系统),错误消息更改为:

 Permissions 0555 for 'key.pem' are too open

在使用chmod 400之后。事实证明,使用root作为默认用户是原因。

使用cmd:

 ubuntu config --default-user your_username

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

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

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

C:\Users\USERNAME\.ssh\private_key

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

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

然后可以安全连接。

当我试图使用公钥登录远程ftp服务器时,也遇到了类似的问题。为了解决这个问题,我完成了以下过程:

首先找到公钥的位置,因为当您尝试登录到ftp时,将使用此公钥。或者,您可以创建一个密钥并将该密钥的权限设置为600。确保您位于正确的位置并执行以下命令:

chmod 600 id_rsa