如何在 Windows 中通过 git bash 获取 vscode-remote-ssh 扩展连接?

car*_*uri 3 vscode-remote

我已将 vs 代码配置为在 Windows 7 中使用 git bash 作为终端。
"terminal.integrated.shell.windows": "C:\Program Files\Git\bin\bash.exe"

我已启用基于 SSH 密钥的身份验证以远程访问主机。所有这些都可以在 VS Code 的终端内正常工作。

但是,当使用 vscode-remote SSH 扩展连接到主机时,我收到一个错误,因为它尝试使用“终端进程命令‘cmd.exe’”而不是 git bash 进行连接。

我在 vs 代码中检查了我的终端设置配置,它指向 git bash.exe

我在 vs code 中使用了终端扩展,它打开了一个 git bash 并成功连接到主机

我是否缺少强制远程 SSH 使用 git bash 进行连接的设置?

Kub*_*uba 5

JerryL 的回答让我意识到,我可以简单地c:\Program Files\Git\usr\bin\ssh.exeremote.SSH.pathVS Code Preferences的设置中设置 GIT 的 ssh 路径:

在此处输入图片说明

然后它就像一个魅力。

为了清楚起见,我的 VS Code 版本是:1.40.0-insider(系统设置)


Jer*_*ryL 2

我在尝试让 MS VS Code Studio Remote-SSH 与 Putty 的 Pageant 一起使用时遇到了类似的问题。我安装了适用于 Windows 的 Git,并且在 Git Bash shell 中,我可以通过 ssh 获取 Pageant 密钥,并且不需要密码。

但是 VS Code Remote-SSH 在使用 Git ssh 时使用C:\Program Files\Git\usr\bin\ssh.exe的是 Windows 7 cmd.exe shell,它不与 Pageant 通信。

在 Windows 7、VS Code 1.36.1(远程开发 0.15.0、远程 SSH 0.44.0)和 Git for Windows 2.22 上对我有用的方法:

  1. 启动 Pageant (C:\Program Files\PuTTY\pageant.exe) 并添加密钥。
  2. 启动 ssh 代理 shim (C:\Program Files\Git\cmd\start-ssh-pageant.cmd)。这负责查找 ssh-agent 的 Git ssh 和 Pageant 之间的通信。
  3. 创建 SSH_AUTH_SOCK 环境变量
    1. 控制面板/系统/高级设置/环境变量..
    2. 用户名/ New..的用户变量:
  4. 测试 ssh:
    1. 打开命令提示符:输入set以查看环境变量列表。SSH_AUTH_SOCK 变量是否正确设置为 /tmp/.ssh-pageant-bill 之类的内容?
    2. 尝试使用 Git 的 ssh.exe 通过 ssh 连接到您的主机:c:\Program Files\Git\usr\bin\ssh.exe user@host 如果这有效,则 VS Code 远程 SSH 应该可以工作。

最后,我将 Pageant 和 start-ssh-pageant.cmd 添加到我的 Windows 7 启动中,以便在重新启动后仍然存在。

希望有帮助。

杰瑞。