我正在尝试配置Git使用Plink。以前我做过很多次。现在,由于某些原因,我无法使用这个选项(它被禁用了):
我尝试过一百次卸载和重新安装Git。但是没有效果,我无法启用此选项。
我正在尝试配置Git使用Plink。以前我做过很多次。现在,由于某些原因,我无法使用这个选项(它被禁用了):
我尝试过一百次卸载和重新安装Git。但是没有效果,我无法启用此选项。
我遇到了这个问题(在较新版本的Git,1.7.9)。我使用了VonC的答案,但只需要几个步骤:
GIT_SSH
设置为plink.exe
的位置pageant.exe
并加载您的私钥在64位Windows上,plink的默认位置是C:\Program Files (x86)\GitExtensions\PuTTY\plink.exe
。路径中的空格似乎不再是问题。
cmd /c for %A in ("c:\Path\ to\ file") do @echo %~sA
。 - neverovmklink /j /d c:\apps\putty "c:\Program Files (x86)\PuTTY"
普通用户执行
set GIT_SSH=c:\apps\putty\plink.exe
为了测试ssh身份验证,我使用了
c:\apps\putty\plink -v git@github.com
- carl verbiestplink github.com
,然后按y和Ctrl-C。之后克隆操作就可以正常工作了。 - Konrads这是一个老问题,我也遇到了同样的问题,为了确保,我将写下对我有效的解决方案。
msysgit安装程序没有显示允许选择openssh客户端和Tortoise(plink)之间的屏幕。
解决方案是安装Putty(或者我猜Tortoise Plink),创建并保存至少一个会话,仅安装Putty是不起作用的,必须创建会话,安装程序会进行一些奇怪的检查。
当你再次运行Git安装程序时,该屏幕应该出现。
set GIT_SSH=C:\Program Files\PuTTY\plink.exe
- m1m1k看起来像问题368
当我更新时,安装程序没有询问是否要使用PLink。
现在Git继续寻找OpenSSH密钥。 Git无法找到我的putty密钥。我尝试加载我的putty私钥并重新安装Git。不管我做什么,我都无法让Git使用我的putty plink数据和私钥。
这里有一个解决方法(问题367)
1)确保plink在
PATH
中
2)保存任意一个putty会话的设置(无论是哪一个)并在安装Git之前执行这些操作。
即使采用了该过程,也不容易:
我最终成功让GIT与Plink一起工作了。
一个评论:
我在安装GIT之前启动了一个Plink会话。即使有一个Plink会话在运行,我也无法让安装程序识别Plink正在运行。我的解决方法:
- 我最终只安装了GIT 1.6.5.1。
- 更改Plink路径以去除空格。 把目录从:
c:\program files\putty
改为c:\putty
。- 设置环境变量
GIT_SSH
为新路径:c:\putty\plink.exe
。通过这些更改,GIT现在正常工作。
要快速设置,请作为管理员运行PowerShell:
[Environment]::SetEnvironmentVariable("GIT_SSH", "D:\your_path_here\plink.exe", "User")
2017年3月更新,适用于Git 2.13(2017年第二季度)
现在Git可以自动检测所需的ssh(openssh或plink),但您可以使用ss.variant
强制进行检测。
请参见提交dd33e07(2017年2月1日)和提交e9d9a8a(2017年1月2日),作者为Segev Finer(segevfiner
).
请参阅提交e2824e4(2017年2月1日),作者为Johannes Schindelin(dscho
).
请参阅提交6a4f3a9(2017年1月26日),作者为Junio C Hamano(gitster
).
(由Junio C Hamano -- gitster
--在提交be6ab59合并,2017年2月27日)
ssh.variant:
根据环境变量 `GIT_SSH` 或 `GIT_SSH_COMMAND` 的值,或配置设置 `core.sshCommand`,Git 会自动检测是否需要调整其命令行参数以使用 `plink` 或 `tortoiseplink`,而不是默认的 OpenSSH。可以通过设置配置变量 `ssh.variant` 来覆盖此自动检测;有效值为 `ssh`、`plink`、`putty` 或 `tortoiseplink`。任何其他值都将被视为普通的 ssh。此设置可以通过环境变量 `GIT_SSH_VARIANT` 覆盖。PATH
中没有plink?对我来说,GIT_SSH=plink
很好用 :-p - binki[Environment]::SetEnvironmentVariable("GIT_SSH", "D:\your_path_here\plink.exe", "User")
- Janusz Skoniecznysetx GIT_SSH "C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe"
我多年来一直使用 GIT_SSH
环境变量的解决方案,但在今年某个时候它停止工作了(可能是 git bash 或 putty 工具包更新后)。我找到了当前的有效解决方案。首先,你必须运行 pageant。其次,你必须启动 ssh 代理,但是要使用 Windows 自带的代理:
eval `ssh-pageant`
eval `ssh-agent`
ssh-add
或Pagenant UI窗口。这是我在2023年1月修复我的机器(Windows 10 Pro x64)所做的。
1&2)配置TortoiseGit(在其设置中...网络>> SSH >> SSH客户端)和Git(GIT_SSH环境变量)均使用 C:\ Program Files \ PuTTY \ plink.exe 不要使用引号。
3&4)设置Pageant和ssh-add代理自启动(我使用了来自https://docs.github.com/en/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases的ssh代理脚本,并使用我的私钥。