我从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文件什么权限?
我从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 8.1中使用Cygwin时,需要运行以下命令:
chgrp Users ~/.ssh/id_rsa
然后可以应用此处发布的解决方案,400或600即可。
chmod 600 ~/.ssh/id_rsa
此处引用
其他回答
AFAIK值为:
700表示密钥文件所在的隐藏目录.ssh密钥文件id_rsa为600
对于我(使用Windows的Ubuntu子系统),错误消息更改为:
Permissions 0555 for 'key.pem' are too open
在使用chmod 400之后。事实证明,使用root作为默认用户是原因。
使用cmd:
ubuntu config --default-user your_username
这里有有趣的消息。如果您的私钥太开放,操作系统足够聪明,可以拒绝远程连接。它了解id_rsa的权限是完全开放的(可以阅读,任何人都可以编辑)的风险。
{一个人可以先换锁,然后用他已有的钥匙打开它}
cd ~/.ssh
chmod 400 id_rsa
在使用多个服务器(非生产服务器)时,我们大多数人都觉得需要使用ssh连接远程服务器。一个好主意是使用一段应用程序级代码(可以是使用jsch的java)在服务器之间创建ssh信任。这种方式的连接将是无密码的。如果安装了perl,那么也可以使用netssh模块。
我从另一台mac迁移后也遇到了同样的问题。它被我的钥匙阻止连接github。
我重置了如下权限,现在运行良好。
chmod 700 ~/.ssh # (drwx------)
cd ~/.ssh
chmod 644 *.pub # (-rw-r--r--)
chmod 600 id_rsa # (-rw-------)
如果您在windows上使用WSL
最简单的答案是键入:sudo ssh-i keyfile.pem<user>@ip
而不更改文件权限。发生这种情况的原因是什么?另一种资源
您不能修改Windows文件系统上文件的权限在Windows上的Ubuntu上使用chmod on Bash。您必须复制WSL主目录(~)的私钥,并在那里执行。
另一方面,sudo不应与ssh一起使用。使用sudo发出命令之所以有效,是因为它现在很可能以root身份执行,而这不是正确的方式,并且存在巨大的安全风险,因为允许使用600/400权限以外的任何权限都会破坏使用SSH密钥的目的,从而危及密钥的安全性。
最好的方法是将文件复制到$HOME/.ssh:
cp密钥文件.pem~/.ssh
对其执行sudo chmod 400 keyfile.pem。
然后ssh-i keyfile.pem<user>@ip。