Configure Git to use Plink
This looks like issue 368
When I updated the install never asked if I wanted to use PLink.
Now Git continues to look for an OpenSSH key. Git could not find my putty key.I have tried loading my putty private key and reinstalling Git. No matter what I do I can't get Git to use my putty plink data and private key.
This has a workaround (issue 367)
1) making sure that plink is in
PATH
2) Saving settings for one putty session (doesn't matter which one)and by doing those before installing git.
Even with that process, it is not easy:
I was finally able to get GIT to work with Plink.
One comment:
I did start a Plink session before installing GIT. Even with a Plink session running I never able to get the installer to recognize PLink was running.My work around:
- I finally just installed GIT 1.6.5.1.
- I changed the Plink path to removes spaces. I changed the directory from:
c:\program files\putty
toc:\putty
.- I set the environment variable
GIT_SSH
to the new path.c:\putty\plink.exe
.With these changes GIT is now functioning properly.
Janusz Skonieczny adds in the comments:
To setup this quickly run PowerShell as admin:
[Environment]::SetEnvironmentVariable("GIT_SSH", "D:\your_path_here\plink.exe", "User")
Update March 2017, for Git 2.13 (Q2 2017)
Git now auto-detects the ssh you need (openssh or plink), but you can force that detection with ss.variant
.
See commit dd33e07 (01 Feb 2017), and commit e9d9a8a (02 Jan 2017) by Segev Finer (segevfiner
).
See commit e2824e4 (01 Feb 2017) by Johannes Schindelin (dscho
).
See commit 6a4f3a9 (26 Jan 2017) by Junio C Hamano (gitster
).
(Merged by Junio C Hamano -- gitster
-- in commit be6ab59, 27 Feb 2017)
ssh.variant:
Depending on the value of the environment variables
GIT_SSH
orGIT_SSH_COMMAND
, or the config settingcore.sshCommand
, Git auto-detects whether to adjust its command-line parameters for use withplink
ortortoiseplink
, as opposed to the default (OpenSSH).The config variable
ssh.variant
can be set to override this auto-detection;
valid values aressh
,plink
,putty
ortortoiseplink
.
Any other value will be treated as normal ssh.
This setting can be overridden via the environment variableGIT_SSH_VARIANT
.
I just had this problem (with a newer version of Git, 1.7.9). I used the answer from VonC, but only a couple of steps were needed:
- Set the environment variable
GIT_SSH
to the location ofplink.exe
- Run
pageant.exe
and load your private key
On 64 bit Windows, the default location for plink is C:\Program Files (x86)\GitExtensions\PuTTY\plink.exe
The spaces in the path no longer seem to be a problem.
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.
If you are using TortoiseGit, you can permanently configure its plink. Of course use correct path on your machine.
setx GIT_SSH "C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe"