无法在 windows 11 上通过 http 代理将 vs code 远程 ssh 与 cygwin 一起使用

Cannot use vs code remote ssh with cygwin over http proxy on windows 11

提问人:EDGAR MEDINA 提问时间:11/11/2023 更新时间:11/11/2023 访问量:35

问:

我正在尝试使用 ssh 连接到远程虚拟机。由于我公司的网络设置,实现此目的的唯一方法是在端口 443 中使用 http 代理。

我可以使用 cygwing 和 corkscrew 工具使用以下命令成功登录 vm(vm 具有用于 ssh 的自定义端口):

ssh -i KEYNAME.pem -o 'ProxyCommand corkscrew X.X.X.X 443 %h %p' -p PORT [email protected]

但是,当我尝试在 vscode 中使用远程 ssh 访问文件并编辑代码时,出现错误无法与 VMname 建立连接

深入研究日志,我发现问题的根源是由以下日志引起的:

[12:03:40.210] Checking ssh with "C:\\cygwin64\\bin\\ssh.exe -V"
[12:03:45.756] > OpenSSH_9.5p1, OpenSSL 3.0.12 24 Oct 2023

[12:03:45.764] Using SSH config file "C:\cygwin64\home\USERNAME\.ssh\config"
[12:03:45.765] Running script with connection command: "C:\\cygwin64\\bin\\ssh.exe" -T -D 59221 -F "C:\cygwin64\home\USERNAME\.ssh\config" "dev-vm" bash
[12:03:45.769] Terminal shell path: C:\WINDOWS\System32\cmd.exe
[12:03:50.411] > /bin/sh: line 1: exec: corkscrew: not found

我的配置文件如下所示:

Host dev-vm
    HostName X.X.X.X
    User username
    IdentityFile keyname.pem
    Port portnumber
    ProxyCommand corkscrew X.X.X.X 443 %h %p

如您所见,vs code 正在采用开瓶器工具不存在的位置并导致错误。正确的路径应为工具的安装位置。Terminal shell path: C:\WINDOWS\System32\cmd.exe/bin/sh: line 1: exec: corkscrew: not foundC:\\cygwin64\\bin\\bash.exe

我已经使用以下选项配置了settings.json文件:

"terminal.integrated.profiles.windows": {
        "Cygwin": {
          "path": "C:\\cygwin64\\bin\\bash.exe",
          "args": ["--login"],
          "env": {"CHERE_INVOKING": "1"}
        }
      },
      "remote.SSH.path": "C:\\\\cygwin64\\\\bin\\\\ssh.exe",
      "remote.SSH.configFile": "C:\\cygwin64\\home\\USERNAME\\.ssh\\config",
      "terminal.integrated.defaultProfile.windows": "Cygwin",

先谢谢你。

Windows visual-studio-code ssh vscode-remote vscode-remote-ssh

评论


答: 暂无答案