windows使用密钥ssh登陆服务器报错


图片.png


因为 SSH 私钥文件(sshkey.pem)的权限设置过于开放,导致 SSH 客户端出于安全考虑拒绝使用它。在 Windows 上,SSH 客户端(如 OpenSSH)会检查私钥文件的权限,确保只有当前用户可读,其他用户不可访问。


解决方法

1. 修改私钥文件的权限(推荐)

在 Windows 上,你需要确保私钥文件 (sshkey.pem) 的权限仅限你的用户访问:

方法 1:使用 PowerShell 修改权限

    右键点击 sshkey.pem → 选择 "属性" → "安全" → "高级"。

    点击 "禁用继承" → 选择 "从此对象中删除所有继承的权限"。

    点击 "添加" → "选择主体" → 输入你的用户名(如 你的用户名)→ 点击 "检查名称" → 确定。

    只勾选 "读取" 权限 → 确定。

    确保 SYSTEM、Administrators 和你的用户有权限,其他用户(如 Users 组)全部删除。

图片.png

方法 2:使用 icacls 命令(管理员权限运行 CMD/PowerShell)

icacls "D:\key\sshkey.pem" /reset
icacls "D:\key\sshkey.pem" /grant:r "$env:administrator:(R)"
icacls "D:\key\sshkey.pem" /inheritance:r

    /reset:清除所有权限。

    /grant:r "$env:administrator:(R)":仅允许当前用户读取。

    /inheritance:r:禁用继承权限。


2. 重新尝试 SSH 即可成功登陆

ssh -i "D:\key\sshkey.pem" root@192.168.1.5



未经允许不得转载:windows使用密钥ssh登陆服务器报错

发表评论

路人甲
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(0)



枫叶落 -技术学习交流--用心学习--用心记录!

联系我