如何确定Git Bash在Windows上使用的SSH客户端? Git Bash是一个在Windows上运行的命令行工具,用于使用Git版本控制系统。它默认使用OpenSSH作为SSH客户端,但也可以配置其他SSH客户端。 你可以通过以下步骤确定Git Bash使用的SSH客户端: 1. 打开Git Bash终端。 2. 输入以下命令并按Enter键:`ssh -T git@github.com` 这将连接到GitHub服务器并显示与你的SSH密钥关联的GitHub用户。 3. 如果你看到如

10 浏览
0 Comments

如何确定Git Bash在Windows上使用的SSH客户端? Git Bash是一个在Windows上运行的命令行工具,用于使用Git版本控制系统。它默认使用OpenSSH作为SSH客户端,但也可以配置其他SSH客户端。 你可以通过以下步骤确定Git Bash使用的SSH客户端: 1. 打开Git Bash终端。 2. 输入以下命令并按Enter键:`ssh -T git@github.com` 这将连接到GitHub服务器并显示与你的SSH密钥关联的GitHub用户。 3. 如果你看到如

我想弄清楚在Windows上运行git bash时,git命令使用的是哪个SSH客户端。

有没有可以运行的git命令来显示SSH客户端路径?

0
0 Comments

问题原因:在Windows中使用Git Bash时,Git使用的SSH客户端可能不是预期的客户端,导致操作失败。

解决方法:通过设置环境变量GIT_SSH_COMMAND来确保使用特定的SSH客户端。

文章整理如下:

最近的git版本中,可以使用trace2来显示Git试图执行的操作:

GIT_TRACE2=1 git clone git.com:/
GIT_TRACE2_EVENT=1 git clone git.com:/

如果想确保使用的是哪个SSH客户端,还可以设置GIT_SSH_COMMAND环境变量为ssh(包括完整路径)。

Jacob Stamm在评论中补充了一种方法:

我在Windows的Docker容器中工作,容器内的Git尝试使用C:\Windows\System32\OpenSSH\ssh.exe进行SSH操作,但失败了。

在Dockerfile中设置ENV GIT_SSH_COMMAND /usr/bin/ssh并重新构建容器可以解决这个问题。

这将显示类似于child_start[0] ssh ...的内容,但仍不清楚运行的是哪个ssh。

"which ssh"?你是指你安装了多个ssh吗?

在使用Git for Windows时,可能同时安装了Git for Windows的OpenSSH客户端和Windows的OpenSSH客户端,两者都命名为ssh。如果运行which ssh返回的是git进程后续要执行的ssh,那就没问题。在我的情况下,我切换回了Git for Windows的ssh客户端,which ssh返回的是/usr/bin/ssh。

确实如此。我总是设置PATH来确保使用Git For Windows的SSH客户端。

我最近在新机器上安装了使用原生客户端的选项,但后来发现自己又回退了。然后我遇到了握手的问题,我只是想确保使用的是哪个客户端。

我是在Windows的Docker容器中工作,容器内的git尝试使用C:\Windows\System32\OpenSSH\ssh.exe进行SSH操作,但失败了。在Dockerfile中设置ENV GIT_SSH_COMMAND /usr/bin/ssh并重新构建容器解决了这个问题。谢谢!

谢谢你的反馈,做得很好!我已经将你的评论包含在答案中,以增加可见性。

0