尝试导入 SSH 密钥时收到“警告: 未受保护的私钥文件!”错误消息

有没有人能解释一下这个问题,以及我可以做些什么来解决我的权限问题。它似乎阻止我得到主机 heroku的真实性和修复我的关键问题。

david@daniel-Inspiron-531:~$ ssh-add david/.ssh/id_rsa
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0775 for 'david/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
david@daniel-Ins
103313 次浏览

我建议您使用

ssh-keygen -t rsa -C '<email>'

否则,将权限更改为较不开放的权限就可以了。

若要更改权限,请使用

chmod  400 ~/.ssh/id_rsa

只需将/. ssh/id _ rsa 文件的权限更改为400

#chmod  400 ~/.ssh/id_rsa

This won't make others or from any group members to modify the file.

只需将密钥文件的权限重置为默认值

sudo chmod 600 ~/.ssh/id_rsa
sudo chmod 600 ~/.ssh/id_rsa.pub

如果使用 WSL,可以将 file.pem 复制到 ~/.ssh/

复制文件

cp file.pem ~/.ssh/

更改权限:

chmod 600 ~/.ssh/file.pem

好了,用你的 ssh-add再试一次

eval `ssh-agent -s`
ssh-add ~/.ssh/file.pem

您应该将文件(包含私钥)的所有者更改为具有完全访问权限的用户名。然后删除其他可以访问该文件的用户名。

右键单击包含私钥的文件,然后单击属性,然后单击安全标签 > 高级,通过单击更改按钮,您可以将所有者更改为您的用户名。(如果您不知道您的用户名运行的名称: “ echo% USERNAME%”在命令提示符中。)更改 > 高级... > 立即查找

删除所有权限条目,除了您刚刚添加的条目

点击禁用继承 > 转换继承的权限... . . 然后删除所有权限条目,除了你刚刚添加的。