阅读量: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