为什么我不能使用 OpenSSH 安装适用于 Windows 的 Git?

Tay*_* Hx 6 ssh windows-7 git tortoise-git

每当我尝试使用从这里下载的安装程序为 Windows 安装 Git 时,安装似乎会跳过我为 Git 配置 Secure Shell 客户端的步骤。

通常在安装过程中,会显示一个屏幕,提示用户选择 OpenSSH(随 Git 安装)或 PuTTY PLink(默认选项)之一。在我最近的几次安装中,此屏幕无处可寻。相反,Git 似乎被静默配置为使用 PLink,而无需我的任何输入。

谁能告诉我为什么会这样?

如果我无法选择在安装时使用哪个 SSH 客户端,谁能告诉我如何重新配置​​ Git 以指向 OpenSSH 而不是 TortoisePLink?

这似乎由 Git 环境变量控制(我的读取“GIT_SSH=c:\Program Files\Putty\plink.exe”而不是“GIT_SSH=ssh.exe”,因为它在另一台使用 Git 的 PC 上所做的)。

作为解决方法,有谁知道如何更改此变量?

小智 3

我以前遇到过这个。要切换到 OpenSSH,还需要做很多工作。

  1. 编辑C:\Program Files (x86)\Git\setup.ini并删除以下行(如果它们位于文件中):

    GIT_SSH=C:\Program Files (x86)\PuTTY\plink.exe
    SVN_SSH=C:\Program Files (x86)\PuTTY\plink.exe
    
    Run Code Online (Sandbox Code Playgroud)
  2. 编辑 C:\Program Files (x86)\Git\etc\profile并删除该行

    export PLINK_PROTOCOL=ssh
    
    Run Code Online (Sandbox Code Playgroud)
  3. 确保您有 SSH 私钥文件。文件采用 OpenSSH 格式,而不是 PuTTY 私钥格式,.ppk.

  4. .ssh为 Git 用户创建一个目录并将id_rsa 文件复制到其中。

    md c:\Users\Git_User\.ssh
    
    Run Code Online (Sandbox Code Playgroud)
  5. 打开 DOS 命令窗口并输入命令

    set | more
    
    Run Code Online (Sandbox Code Playgroud)

    寻找GIT_SSHSVN_SSH

  6. 如果找到,则表明它已在 Windows 环境变量中配置。您需要将其从那里删除。

从“开始”菜单中,打开“控制面板”

  • 选择用户帐户
  • 选择更改我的环境变量
  • 突出显示GIT_SSH ...
  • 点击Delete
  • 点击OK

对 SVN_SSH 重复此操作。

在我的机器上,执行这些操作会禁用 TortoiseGit。修复您的 Git 配置以使用TortoiseGitPlink.exe. TortoisePlink.exe目录中还有一个TortoiseGit/bin- 不要使用它。TortoisePlink.exe不适合我。