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

问题描述:

我使用的是Windows XP,TortoiseGit(最新版本)和Cygwin。我已经安装了git.exe并在我的路径中。在TortoiseGit中,我可以在不提示输入密码的情况下对远程存储库执行推送。我认为这是因为我在我的.git/config文件中定义了这个...为什么git要求我输入密码?

[remote "origin"] 
    fetch = +refs/heads/*:refs/remotes/origin/* 
    url = ssh://[email protected]/myproject.git 
    puttykeyfile = U:\\.ssh\\mykey.ppk 

然而,在Cygwin的,当我的项目(一个根目录所在的文件夹git的是孩子),我得到提示输入密码...

$ git push origin qa_release 
[email protected]'s password: 

为什么从TortoiseGit试图从Cygwin的推动而不是当我在提示输入密码,我怎样才能Cygwin来表现得像TortoiseGit(即不问我为密码)?

谢谢 - 戴夫

puttykeyfile是windows混帐东西,所以你需要有你的SSH设立的cygwin了。 Git将使用您的常规SSH设置。

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

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

你可以用cygwin中的ssh myrepo快速测试。

+0

这个变化对我有效。在“主机”下,除了将身份文件从.ppk更改为私钥文件之外,我还添加了“用户myuser”和“主机名myhost”行。谢谢, - – Dave 2012-01-18 14:22:59

+1

顺便说一句,ppk不是SSH公钥。这是一个腻子的私钥。 – gaRex 2012-09-20 08:35:50