在Windows上使用msysgit的问题;它找不到.ssh / id_rsa,即使它存在于应有的位置。
我用ssh -v git@github.com验证了这个问题;当且仅当我使用-i选项将其明确指向正确的id_rsa文件时,该命令才有效,但据我所知,git本身没有这样的选项;我无法在Google或提供的文档中找到任何内容。
奇怪的是,几个月前我上次使用git时效果很好,而且从那以后我没有改变任何东西,这似乎是一个可能的原因。
我尝试了以下,一切都没有效果:
还有什么想法可以尝试吗?
找到了!
问题是有两个不同的git命令,git.exe(实际程序)和git.cmd(它设置了在Windows上工作所需的东西)。根据您在安装时设置的选项,最终可能会出现前者而非后者最终出现在路径中的情况,因此无效。然后,除非你运行git.cmd,否则关于ssh.exe的常用调试建议不起作用。
简而言之,只需确保您运行的是git.cmd而不是git.exe。
奇怪的是msysgit有它自己的.ssh目录:
C:\Program Files (x86)\Git\.ssh
放置你的ssh密钥应该可行。它解决了我的问题
我在Msys / MinGW中使用git时遇到了这个问题,它无法找到我的私钥,尽管它能够很好地进入服务器。
问题是进入 ~/.ssh/config
说过:
Host github.com
IdentityFile /home/username/.ssh/id_rsa
但是,Git需要从Windows的角度来看完整路径:
Host github.com
IdentityFile c:/mingw/msys/1.0/home/username/.ssh/id_rsa
然后它奏效了。
要从msys发现此路径,请运行 cd ~/.ssh
接着 pwd -W
我们的管理员改变了 HOMEDRIVE
在Windows上,之后像ssh这样的工具不再能找到他们的配置了。似乎 HOMEDRIVE
用作默认值 HOME
。