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

使用Remote-SSH通过跳板机连目标主机遇权限及管道错误求助

解决VS Code Remote-SSH跳板机连接权限及管道错误问题

核心错误分析

日志中明确提示Bad owner or permissions on C:\Users\hdl/.ssh/config,这是Windows OpenSSH的权限校验导致的——.ssh目录和config文件必须仅对当前用户开放权限,其他用户(如Administrators、Everyone)不能拥有访问权限。后续的管道错误是权限问题引发的连锁反应。

解决方案

1. 修复.ssh目录与config文件权限

  • 打开文件资源管理器,定位到C:\Users\hdl\.ssh目录
  • 右键目录→属性→安全选项卡→高级
  • 点击「禁用继承」,选择「将继承的权限转换为此对象的显式权限」
  • 删除所有非当前用户(hdl)的权限条目
  • 仅保留当前用户的权限,设置为「完全控制」
  • 对.ssh/config文件重复上述权限配置步骤,确保文件仅当前用户可访问

2. 修正SSH配置文件写法

调整~/.ssh/config的配置,避免模糊匹配并指定SSH绝对路径:

Host jump-server
    HostName 202.x.x.x  # 替换为实际跳板机IP
    User jump
    Port 22

Host 1921via202
    HostName 192.x.x.x  # 替换为实际目标主机IP
    User target
    Port 22
    ProxyCommand C:\WINDOWS\System32\OpenSSH\ssh.exe -W %h:%p jump-server
  • 跳板机使用明确别名(如jump-server),避免通配符引发的匹配问题
  • ProxyCommand指定Windows OpenSSH的绝对路径,规避环境变量查找异常

3. 验证基础SSH连接

打开CMD终端,直接执行:

ssh 1921via202

如果此命令能正常连接目标主机,说明SSH配置和权限已修复;若仍报错,优先解决终端中的SSH问题,再尝试VS Code Remote-SSH连接。

4. 调整VS Code Remote-SSH设置

  • 打开VS Code设置,搜索remote.SSH.path,设置为C:\WINDOWS\System32\OpenSSH\ssh.exe
  • 搜索remote.SSH.configFile,确认路径为C:\Users\hdl\.ssh\config(使用Windows反斜杠)
  • 重启VS Code后重新尝试连接

5. 管道错误附加排查

  • 关闭VS Code所有终端窗口,或重启电脑后重试
  • 临时关闭防火墙、杀毒软件,排查是否有连接拦截

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 13:48:09