【服务器】SSH 私钥报错 Permissions for ‘id_rsa‘ are too open. It is required that your private key

avatar
作者
筋斗云
阅读量:0

报错信息

Permissions for 'id_rsa' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "id_rsa": bad permissions xxx@xxx: Permission denied (publickey). 

问题描述

(发现XShell自带的公私钥生成工具,生成的公私钥对不好使)

使用ssh-keygen生成公私钥对之后,直接在cmd命令行中进行连接:

ssh-keygen 

得到
在这里插入图片描述
将公钥添加到服务器的authorized_keys之后,

ssh username@hostname -p 17022 -i id_rsa 

报错如下

在这里插入图片描述

Permissions for 'id_rsa' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "id_rsa": bad permissions xxx@xxx: Permission denied (publickey). 

解决办法

主要是因为本地的私钥文件 id_rsa 的权限太开放了

Windows环境下

在Windows本地环境下:
右键id_rsa文件 → 属性 → 高级
在这里插入图片描述
点击“禁用继承”
在这里插入图片描述
点击 “将已继承的权限转换为此对象的显式权限。”
在这里插入图片描述

之后情况如下:
在这里插入图片描述

然后把所有用户和组的权限都删除:
在这里插入图片描述

在这里插入图片描述

再点击 “添加”
在这里插入图片描述

输入当前的主机用户名(例如juruo),点击确定
在这里插入图片描述
看到 “主体”跟之前的 id_rsa文件的 所有者 保持一致
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
点击 应用:
在这里插入图片描述

之后就可以正常使用id_rsa这个私钥了:

在这里插入图片描述

Linux环境下

在Linux本地环境下:

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

参考:https://blog.csdn.net/IBLiplus/article/details/102405792

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!