Windows 为什么git要我输入密码?

Windows 为什么git要我输入密码?,windows,git,putty,tortoisegit,Windows,Git,Putty,Tortoisegit,我使用的是Windows XP、Ortoisegit(最新版本)和Cygwin。我已经安装了git.exe,并且在我的路径上。在Ortoisegit中,我可以对远程存储库执行推送操作,而无需提示输入密码。我认为这是因为我在.git/config文件中定义了它 [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = ssh://git@myrepo/myproject.git puttykeyf

我使用的是Windows XP、Ortoisegit(最新版本)和Cygwin。我已经安装了git.exe,并且在我的路径上。在Ortoisegit中,我可以对远程存储库执行推送操作,而无需提示输入密码。我认为这是因为我在.git/config文件中定义了它

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = ssh://git@myrepo/myproject.git
    puttykeyfile = U:\\.ssh\\mykey.ppk
然而,在Cygwin中,当我在项目的根目录下(其中.git文件夹是子目录)时,系统会提示我输入密码

$ git push origin qa_release
git@myrepo's password:
当我试图从Cygwin而不是从Ortoisegit推送时,为什么会提示我输入密码?我如何才能让Cygwin表现得像Ortoisegit(即,不要求我输入密码)


谢谢,-Dave

puttykeyfile
是一个windows git的东西,所以您也需要为cygwin设置SSH。Git将使用您的常规SSH设置

.ppk文件是常规SSH公钥吗?如果是这样,请将以下内容添加到
~/.ssh/config
文件中,以便cygwin git知道在哪里可以找到它

 Host myrepo
     IdentityFile /cygdrive/u/.ssh/mykey.ppk

您可以使用cygwin中的
ssh-myrepo
快速测试这一点。

这一方法的一个变体对我有效。在“主机”下,除了将标识文件从.ppk更改为私钥文件外,我还添加了“User myuser”和“Hostname myhost”行。谢谢,-顺便说一句,ppk不是SSH公钥。这是putty的私钥。