
因为 SSH 私钥文件(sshkey.pem)的权限设置过于开放,导致 SSH 客户端出于安全考虑拒绝使用它。在 Windows 上,SSH 客户端(如 OpenSSH)会检查私钥文件的权限,确保只有当前用户可读,其他用户不可访问。
解决方法
1. 修改私钥文件的权限(推荐)
在 Windows 上,你需要确保私钥文件 (sshkey.pem) 的权限仅限你的用户访问:
方法 1:使用 PowerShell 修改权限
右键点击 sshkey.pem → 选择 "属性" → "安全" → "高级"。
点击 "禁用继承" → 选择 "从此对象中删除所有继承的权限"。
点击 "添加" → "选择主体" → 输入你的用户名(如 你的用户名)→ 点击 "检查名称" → 确定。
只勾选 "读取" 权限 → 确定。
确保 SYSTEM、Administrators 和你的用户有权限,其他用户(如 Users 组)全部删除。

方法 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登陆服务器报错
发表评论