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


当前回答

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

其他回答

PuTTY可以在windows 10上完成工作。它使用私钥作为输入生成公钥。

下载PuTTY安装PuTTY。安装时有两个应用程序:腻子配置、腻子密钥生成启动puttyGen单击加载并选择私钥文件。请注意,您需要使用.ppk扩展名重命名私钥文件,例如privatekey.ppk

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

AFAIK值为:

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

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

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

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

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

cd ~/.ssh
chmod 400 id_rsa

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