Git can';找不到。ssh

Git can';找不到。ssh,git,msysgit,Git,Msysgit,在Windows上使用msysgit时出现问题;它找不到.ssh/id\u rsa,即使它出现在应该出现的地方 我验证了这就是ssh-v的问题所在git@github.com; 当并且仅当我使用-I选项显式地将它指向正确的id_rsa文件时,该命令才起作用,但据我所知,git本身没有这样的选项;我在谷歌上或提供的文档中都找不到任何东西 奇怪的是,上一次我在几个月前使用git时,它工作得很好,而且从那以后我没有做任何改变,这似乎是一个可能的原因 我尝试了以下方法,但都没有效果: 生成新的id\u

在Windows上使用msysgit时出现问题;它找不到.ssh/id\u rsa,即使它出现在应该出现的地方

我验证了这就是ssh-v的问题所在git@github.com; 当并且仅当我使用-I选项显式地将它指向正确的id_rsa文件时,该命令才起作用,但据我所知,git本身没有这样的选项;我在谷歌上或提供的文档中都找不到任何东西

奇怪的是,上一次我在几个月前使用git时,它工作得很好,而且从那以后我没有做任何改变,这似乎是一个可能的原因

我尝试了以下方法,但都没有效果:

  • 生成新的id\u rsa

  • 将.ssh放在当前目录中

  • 将.ssh放在根目录中

  • 卸载msysgit并重新安装最新版本

  • 设置主环境变量

  • 安装龟甲并尝试它(根本不起作用)

你知道还有什么可以尝试的吗?

windows的方法是去和。

找到了

问题是有两个不同的git命令,git.exe(实际的程序)和git.cmd(为它在Windows上工作设置必要的东西)。根据您在安装时设置的选项,最终可能会出现这样一种情况,即前者而不是后者最终出现在您的路径中,因此它不起作用。那么,除非您运行了git.cmd,否则通常关于ssh.exe的调试建议就不起作用


简而言之,只需确保运行的是git.cmd而不是git.exe。

奇怪的是,msysgit有自己的.ssh目录:

C:\ProgramFiles(x86)\Git\.ssh


将ssh密钥放在那里应该会起作用。它为我解决了这个问题

我在Msys/MinGW中遇到了git的问题,在那里它找不到我的私钥,尽管它可以通过ssh很好地连接到服务器

问题是
~/.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
我们的管理员在Windows上更改了
HOMEDRIVE
,之后ssh之类的工具再也找不到他们的配置。似乎在linux上,
HOMEDRIVE
被用作
HOME

的默认值,至少,ssh会接受
-vv
-vvv
来增加详细信息-也许这会告诉您它到底在哪里查找密钥?它确实接受这些,但输出是一样的:它声称正在查找/.ssh/id\u rsa,但是它是假的(因为我确实在根目录中放了一个.ssh副本,如果显式指向根目录,ssh可以读取它)。不管怎么说,为什么它看起来是
/.ssh/id\u rsa
而不是
$HOME/.ssh/id\u rsa
?如果我知道的话,我会比现在知道的更多!当你说你回家的时候,你的意思是在壳里,对吗?你把它出口了?(我敢肯定你是这样做的,我只是缺少像你这样的想法-我敢肯定ssh只是在
$HOME/.ssh/id_rsa
中查找,所以这确实让它看起来像
$HOME
实际上是空的”…)链接页面说使用putty是你在安装时选择的一个选项,但最新版本的msysgit没有给我任何这样的选项;这种情况改变了吗?还是这样吗?找不到此文件夹。如何确保这一点?