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

时间:2019-05-30 17:19:56

标签: 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代码中使用了终端扩展,它打开了git bash并成功连接到主机

是否存在我缺少的设置来强制Remote-SSH使用git bash进行连接?

3 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,试图让MS VS Code Studio Remote-SSH与Putty的Pageant一起使用。我已经安装了Windows版Git,并且在Git Bash外壳中,我可以ssh并拾取Pageant密钥,不需要密码。

但是VS Code Remote-SSH在C:\Program Files\Git\usr\bin\ssh.exe中使用Git ssh时,使用的是Windows 7 cmd.exe shell,而该外壳与Pageant无关。

在Windows 7,VS Code 1.36.1(远程开发0.15.0,Remote-SSH 0.44.0)和适用于Windows 2.22的Git上对我有用的东西:

  1. 启动选美(C:\ Program Files \ PuTTY \ pageant.exe)并添加密钥。
  2. 启动ssh代理填充程序(C:\ Program Files \ Git \ cmd \ start-ssh-pageant.cmd)。这样可以处理寻找ssh-agent的Git ssh与Pageant之间的通信。
  3. 创建SSH_AUTH_SOCK环境变量
    1. 控制面板/系统/高级设置/环境变量..
    2. 用户名 / 新.. 的用户变量:
  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 Remote-SSH应该可行。

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

希望有帮助。

杰里。

答案 1 :(得分:0)

JerryL的答案使我意识到,我可以简单地在VS Code Preferences的c:\Program Files\Git\usr\bin\ssh.exe设置中设置GIT的ssh路径remote.SSH.path

enter image description here

然后它就像魅力一样。

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

答案 2 :(得分:0)

我在尝试使VS Code Remote使用Putty Pageant时遇到类似的问题。

1。在以下位置创建.bat文件:

echo OpenSSH
"C:\YOUR_PATH_HERE\PLINK.EXE" -ssh %*

2。打开VS Code设置,在搜索中键入remote ssh path并找到Remote.SSH:路径设置
3.在此路径下到您的.bat文件
4.现在VS Code Remote将正确使用Pageant。