49

我正在尝试将 Git 配置为使用 Plink。它以前对我有用过很多次。现在,由于某种原因,我无法使用此选项(已禁用):

Git 设置 Plink 选项截图

我尝试卸载并重新安装 Git 一百次。没有什么。我无法启用此选项。

4

5 回答 5

62

我刚遇到这个问题(使用较新版本的 Git,1.7.9)。我使用了 VonC 的答案,但只需要几个步骤:

  1. 将环境变量设置GIT_SSHplink.exe
  2. 运行pageant.exe并加载您的私钥

在 64 位 Windows 上,plink 的默认位置是C:\Program Files (x86)\GitExtensions\PuTTY\plink.exe 路径中的空格似乎不再是问题。

于 2012-04-27T15:57:27.533 回答
51

This is an old question, and I just have the same problem, just to be sure I will write down the solution that worked for me.

  • The msysgit installer didn't show the screen that allows to select between the openssh client and the Tortoise (plink)

  • The solution is to install Putty (or Tortoise Plink I guess), create and save at least one session, just installing Putty didn't work, the session must be created, the installer does some weird check about that.

  • When you run the Git installer again, the screen should appear.

enter image description here

于 2011-10-08T13:38:06.807 回答
21

这看起来像问题 368

当我更新安装时,从未询问我是否要使用 PLink。
现在 Git 继续寻找 OpenSSH 密钥。Git 找不到我的腻子键。

我已经尝试加载我的腻子私钥并重新安装 Git。无论我做什么,我都无法让 Git 使用我的 putty plink 数据和私钥。

这有一个解决方法(问题 367

1)确保 plink 在PATH
2)保存一个腻子会话的设置(不管哪个)

并在安装 git 之前执行这些操作。


即使有这个过程,也不容易:

我终于能够让 GIT 与 Plink 一起工作。

一条评论:
我在安装 GIT 之前确实启动了 Plink 会话。即使 Plink 会话正在运行,我也无法让安装程序识别 PLink 正在运行。

我的工作:

  1. 我终于安装了 GIT 1.6.5.1。
  2. 将 Plink 路径更改为删除空格。我将目录从: 更改 c:\program files\puttyc:\putty.
  3. 将环境变量设置GIT_SSH为新路径。c:\putty\plink.exe.

通过这些更改,GIT 现在可以正常运行。


Janusz Skonieczny在评论中补充道:

要快速设置此设置,请以管理员身份运行 PowerShell:

[Environment]::SetEnvironmentVariable("GIT_SSH", "D:\your_path_here\plink.exe", "User")

2017 年 3 月更新,适用于 Git 2.13(2017 年第二季度)

Git 现在会自动检测您需要的 ssh(openssh 或 plink),但您可以使用ss.variant.

请参阅Segev Finer ( )的提交dd33e07 (2017 年 2 月 1 日)和提交 e9d9a8a(2017 年1 月 2 日) 。 请参阅Johannes Schindelin ( )的提交 e2824e4(2017 年 2 月 1 日) 。 请参阅Junio C Hamano ( ) 的提交 6a4f3a9(2017 年 1 月 26 日(由Junio C Hamano 合并——提交 be6ab59中,2017 年 2 月 27 日)segevfiner
dscho
gitster
gitster

ssh.variant:

根据环境变量GIT_SSHor GIT_SSH_COMMAND或 config 设置的值core.sshCommand,Git 自动检测是否调整其命令行参数以与plinkor一起使用tortoiseplink,而不是默认值 (OpenSSH)。

ssh.variant可以设置config 变量来覆盖此自动检测;有效
值为sshplink或。 任何其他值都将被视为普通 ssh。 可以通过环境变量覆盖此设置。puttytortoiseplink

GIT_SSH_VARIANT

于 2010-06-06T17:46:20.847 回答
2

如果你使用 TortoiseGit,你可以永久配置它的 plink。当然在您的机器上使用正确的路径。

setx GIT_SSH "C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe"
于 2017-11-28T20:18:16.510 回答
1

我多年来一直使用GIT_SSH环境变量的解决方案,但今年某个时候它停止工作(在更新 git bash 或 putty 工具包之后)。我找到了当前的工作灵魂。首先,您的选美必须正在运行。其次,您必须启动 ssh 代理,但 windows 之一:

eval `ssh-pageant`

它相当于 Windows 用户所知道的:

eval `ssh-agent`

要添加键,您可以使用ssh-add或 Pagenant UI 窗口。

于 2020-11-25T11:14:06.903 回答