Reputation: 33375
Problem using msysgit on Windows; it can't find .ssh/id_rsa, even though it is present where it should be.
I verified that's the problem with ssh -v [email protected]; that command works when and only when I use the -i option to explicitly point it at the correct id_rsa file but as far as I can tell, git itself doesn't have such an option; and I can't find anything either on Google or in the supplied documentation.
The peculiar thing is, it worked fine last time I used git a few months ago, and I haven't changed anything since then that seems a likely cause.
I've tried the following, all to no effect:
Generating new id_rsa
Putting .ssh in current directory
Putting .ssh in root directory
Uninstalling msysgit and reinstalling the latest version
Setting the HOME environment variable
Installing TortoiseGit and trying that instead (didn't work at all)
Any ideas what else to try?
Upvotes: 13
Views: 20865
Reputation: 14052
Our admins changed the HOMEDRIVE
on Windows and afterwards tools like ssh did no longer find their config anymore. Seems like HOMEDRIVE
is used as default value for HOME
.
Upvotes: 0
Reputation: 2968
I had this problem with git in Msys/MinGW where it couldn't find my private key, despite being able to ssh into the server fine.
The problem was that the entry in ~/.ssh/config
said:
Host github.com
IdentityFile /home/username/.ssh/id_rsa
However Git required the full path from a Windows point of view like this instead:
Host github.com
IdentityFile c:/mingw/msys/1.0/home/username/.ssh/id_rsa
and then it worked.
To discover this path from msys, run cd ~/.ssh
and then pwd -W
Upvotes: 3
Reputation: 79
Oddly msysgit has it's own .ssh directory:
C:\Program Files (x86)\Git\.ssh
Placing your ssh key there should work. It solved the problem for me
Upvotes: 1
Reputation: 33375
Found it!
The problem is that there are two different git commands, git.exe (the actual program) and git.cmd (which sets up the necessary stuff for it to work on Windows). Depending on what options you set at install time, you can end up with a scenario where the former rather than the latter is the one that ends up in your path, so it doesn't work. Then the usual debugging suggestions regarding ssh.exe don't work unless you've run git.cmd.
In a nutshell, just make sure you're running git.cmd instead of git.exe.
Upvotes: 8
Reputation: 53158
The windows way is to import your ssh key to putty and use putty agent.
Upvotes: 0