VS Code远程资源管理器连接Windows主机报错求助
解决方案:VS Code Remote连接Windows SSH权限错误+密钥认证失效
一、解决VS Code Remote的WMI权限拒绝错误
错误提示中的gcim : Access denied是因为VS Code Remote的连接脚本需要通过WMI查询进程信息,但当前用户没有Root\CIMV2的读取权限,可按以下方式解决:
方法1:赋予用户WMI读取权限
- 打开「计算机管理」→「服务和应用程序」→「WMI控制」,右键选择「属性」
- 切换到「安全」标签,展开
Root→CIMV2,点击「安全设置」 - 添加你的SSH登录用户,在权限列表中勾选「允许」下的「读取权限」,确认后重启OpenSSH服务
方法2:修改OpenSSH服务运行身份
- 打开「服务」,找到「OpenSSH SSH Server」,右键选择「属性」→「登录」标签
- 将登录身份从「本地服务」改为「本地系统」(权限更高,按需使用),重启服务
临时绕过方案
在VS Code的settings.json中添加以下配置,禁用WMI查询:"remote.SSH.useLocalServer": false, "remote.SSH.showLoginTerminal": true
二、解决SSH密钥认证仍需输入密码的问题
已添加公钥但仍需输密码,通常是路径、权限或配置问题:
检查authorized_keys的路径和权限
- 公钥必须放在Windows用户目录下的
.ssh文件夹中,路径为C:\Users\<你的用户名>\.ssh\authorized_keys - 右键
.ssh文件夹→「属性」→「安全」,点击「禁用继承」,然后删除所有非必要权限,只保留:- 当前用户账户:完全控制
- SYSTEM:完全控制
- Administrators:完全控制
- 确保
authorized_keys文件的权限和文件夹一致,无其他用户的访问权限
- 公钥必须放在Windows用户目录下的
检查OpenSSH配置
打开C:\ProgramData\ssh\sshd_config,确保以下配置未被注释:PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys修改后重启OpenSSH服务
验证密钥格式和日志
- 确认Linux生成的公钥是
ssh-rsa或ssh-ed25519开头的完整字符串,复制到authorized_keys时无换行或格式错误 - 执行
ssh -v username@hostname查看详细认证日志,确认密钥是否被服务器识别
- 确认Linux生成的公钥是
内容的提问来源于stack exchange,提问作者Lars Eggimann
相关产品推荐
相关产品推荐

