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

Windows下用Socat通过HTTP代理SSH报错CreateProcessW error:2排查

问题原因及修复方案

错误根源

CreateProcessW failed error:2 本质是Windows版OpenSSH无法正确解析你设置的ProxyCommand,核心问题有两个:

  1. 引号与命令行解析逻辑冲突
    Windows的cmd/PowerShell对引号的处理和Linux环境不同,你用单引号包裹ProxyCommand内容的写法,会导致SSH客户端无法正确识别socat的可执行文件路径。

  2. Socat的PROXY参数格式不兼容Windows
    原命令中PROXY:%h:%p|tcp:y.y.y.y:8080里的管道符|是Windows命令行的特殊字符,会被系统提前拦截解析,无法传递给socat执行。

修正后的可用命令

PowerShell环境

ssh -o ProxyCommand="C:\Users\MyUser\Download\socat\socat.exe - PROXY:%h:%p,proxyaddr=y.y.y.y,proxyport=8080" -p 443 x.x.x.x

CMD环境

ssh -o ProxyCommand="C:\\Users\\MyUser\\Download\\socat\\socat.exe - PROXY:%h:%p,proxyaddr=y.y.y.y,proxyport=8080" -p 443 x.x.x.x

关键调整说明

  • 用双引号包裹整个ProxyCommand内容,适配Windows命令行的引号解析规则
  • 将socat的PROXY参数改为逗号分隔格式(proxyaddr=和proxyport=),替代管道符写法,避免特殊字符冲突
  • 使用Windows原生的路径分隔符\,CMD环境下需要用双反斜杠\\转义
  • 显式指定-p 443,确保连接到远程主机的正确SSH端口

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 07:27:37