You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows版OpenSSH报错:C:\Users\gary/.ssh/config权限或所有者异常

解决Windows OpenSSH "Bad owner or permissions on .ssh/config" 问题

我之前也踩过这个Windows OpenSSH的权限坑,跟你情况一模一样——用Git Bash跑了chmod 0600和chown完全没用,后来才搞明白:Windows版OpenSSH的权限校验根本不认POSIX那套,它只看NTFS文件权限体系!下面是亲测有效的解决步骤:

1. 彻底清理config文件的多余权限

  • 右键点击C:\Users\gary\.ssh\config,选属性 → 安全 → 高级
  • 点击禁用继承,然后选择从此对象中删除所有继承的权限(这一步会把Administrators、SYSTEM这些默认权限全删掉,就是要这么干)
  • 点击添加 → 选择主体,输入你的用户名gary,点检查名称确认后添加
  • 给gary设置完全控制权限,一路确定保存

2. 同步修正.ssh目录的权限

同样的操作给.ssh目录来一遍:

  • 右键C:\Users\gary\.ssh → 属性 → 安全 → 高级
  • 禁用继承并删除所有继承权限
  • 添加你自己的用户gary,授予完全控制权限
  • 确保这里没有其他用户(比如SYSTEM、管理员组)的访问权限,OpenSSH对目录权限的严格程度和文件一样

3. 用命令行快速设置(嫌图形界面麻烦的话)

直接用Windows自带的icacls命令一键搞定:

icacls "C:\Users\gary\.ssh" /inheritance:r /grant:r gary:F
icacls "C:\Users\gary\.ssh\config" /inheritance:r /grant:r gary:F

参数解释:

  • /inheritance:r 移除所有继承的权限
  • /grant:r gary:F 给用户gary授予完全控制权限,覆盖现有设置

4. 重启OpenSSH服务生效

最后别忘了重启服务,让权限变更生效:

net stop sshd
net start sshd

为啥之前的chmod没用?因为Windows版OpenSSH只是兼容了POSIX权限的语法,但实际校验逻辑还是绑定NTFS权限的——哪怕sshd用Local System运行,它校验config文件时还是会以你的用户身份检查,必须确保只有你自己能碰这个文件和目录才行。

内容的提问来源于stack exchange,提问作者gary69

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:06:24