OpenClaw并非标准OpenSSH组件,Windows中实际需配置的是OpenSSH服务端权限,包括服务账户(默认NetworkService)、密钥文件ACL(如ProgramData\ssh\administrators_authorized_keys)及SFTP用户目录NTFS权限。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw不是标准OpenSSH组件,当前主流发行版、微软官方Windows OpenSSH、Win32-OpenSSH Portable及所有权威文档中均无此名称的工具或服务。你可能混淆了名称,实际想配置的是OpenSSH服务端或客户端的权限控制机制。
确认你真正要配的是OpenSSH服务权限
先检查系统是否安装了OpenSSH服务器:在管理员PowerShell中运行 Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Server*'。若返回State为NotPresent,则OpenClaw根本不存在,你面对的是OpenSSH。
若返回Installed,说明已启用OpenSSH服务——接下来所有操作都围绕它展开,而非虚构的OpenClaw。
Windows下OpenSSH服务关键权限配置
OpenSSH服务本身不叫OpenClaw,但它的权限问题集中在三处:服务运行账户、密钥文件ACL、SFTP用户目录NTFS权限。
第一步:确保sshd服务以NetworkService身份运行(默认安全策略)
打开服务管理器 → 找到OpenSSH SSH Server → 右键“属性” → “登录”选项卡 → 确认“此账户”设为【NT AUTHORITY\NetworkService】。改用LocalSystem或自定义账户会绕过最小权限原则,触发后续连接拒绝。
第二步:修复.ssh目录和私钥的NTFS权限
以管理员身份打开PowerShell,执行:icacls "$env:ProgramData\ssh\administrators_authorized_keys" /inheritance:r /grant "Administrators:(R)" /grant "SYSTEM:(R)"
这条命令清除继承权限并只赋予Administrators和SYSTEM读取权——【缺少这步,任何域用户或本地管理员都无法通过密钥登录】。
OpenClaw专家 — 用于任何OpenClaw问题或需求,包括配置错误、网关崩溃、网关未启动、斜杠指令、频道路由等。
第三步:为SFTP用户设置Chroot jail目录权限
假设你要限制用户alice只能访问D:\sftp\alice目录:
① 在D:\sftp\alice下新建子目录upload;
② 右键D:\sftp → “属性” → “安全” → “编辑” → 删除所有用户组,仅保留SYSTEM、Administrators、alice三个条目;
③ 对D:\sftp\alice\upload,给alice赋予“修改”权限,其他位置仅给“读取与执行”;
④ 修改sshd_config,添加:
Match User alice<br> ChrootDirectory D:/sftp/alice<br> ForceCommand internal-sftp<br> AllowTcpForwarding no
Linux下OpenSSH密钥权限强制校验绕过方法
OpenSSH 8.8+版本默认拒绝权限过宽的密钥文件,这不是bug而是安全硬性要求。
方法一:修正私钥权限(推荐)
执行 chmod 600 ~/.ssh/id_rsa 和 chmod 700 ~/.ssh。注意:不要用sudo chmod,否则属主变成root,普通用户将无法读取。
方法二:临时禁用权限检查(仅调试用)
在ssh命令后加 -o StrictHostKeyChecking=no -o CheckHostIP=no,但这只跳过known_hosts检查,【无法绕过私钥600权限校验】。
方法三:使用ssh-agent缓存解密后的私钥
启动agent:eval $(ssh-agent -s);加载密钥:ssh-add ~/.ssh/id_rsa。此后所有ssh连接自动复用已解密密钥,不再反复校验文件权限。

















