报错信息

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

精彩链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。