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

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

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

通常在安装过程中,会显示一个屏幕,提示用户选择 OpenSSH(与 Git 一起安装)或 PuTTY PLink(默认选项)。在我最近的几次安装中,找不到这个屏幕。相反,Git 似乎被默默配置为使用 PLink,而无需我输入任何信息。

谁能告诉我为什么会发生这种情况?

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

这似乎是由 Git 环境变量控制的(我的读取内容是“GIT_SSH=c:\Program Files\Putty\plink.exe”,而不是在另一台运行 Git 的 PC 上读取的“GIT_SSH=ssh.exe”)。

作为一种解决方法,有人知道如何改变这个变量吗?

答案1

我以前也遇到过这种情况。要切换到 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
    
  2. 编辑 C:\Program Files (x86)\Git\etc\profile并删除该行

    export PLINK_PROTOCOL=ssh
    
  3. 确保您拥有 SSH 私钥文件。文件采用 OpenSSH 格式,而非 PuTTY 私钥格式.ppk

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

    md c:\Users\Git_User\.ssh
    
  5. 打开 DOS 命令窗口并输入命令

    set | more
    

    寻找GIT_SSHSVN_SSH

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

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

  • 选择用户帐户
  • 选择更改我的环境变量
  • 强调GIT_SSH ...
  • 点击Delete
  • 点击OK

对 SVN_SSH 重复此操作。

在我的计算机上,执行这些操作会禁用 TortoiseGit。最好修复您的 Git 配置以使用。目录中TortoiseGitPlink.exe还有一个- 不要使用它。对我来说不起作用。TortoisePlink.exeTortoiseGit/binTortoisePlink.exe

答案2

我今晚刚刚遇到这个问题,上次发帖人提供的信息已经过时了 - 但它把我带到了正确的地方 - 基本上隐藏了系统中有关 putty/plink 的任何概念,不让 git 安装程序介入。

Git 注意到 plink 已安装并不断尝试“提供帮助”,但拒绝安装 openssh。

  • 卸载 Git。
  • 删除剩余结构 c:\program files\git。
  • 转到您的 USER 注册表项 HKEY_CURRENT_USER\Software\SimonTatham
    • 暂时将密钥重命名为类似 SSSSimonTatham 的名称(以“S”开头,这样它就不会对您进行排序,您以后可以快速找到它)
  • 现在安装 Git。(它不会注意到你已经安装了 plink)
  • 确保将 ssh.exe(现已安装)添加到您的路径中
    • 对我来说它是 C:\Program Files\Git\usr\bin
  • 将您的 putty 注册表项重命名回 SimonTatham

相关内容