Search code examples
gitmsysgit

Git can't find .ssh


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?


Solution

  • 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.