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

3

我正在使用Windows XP,TortoiseGit(最新版本)和Cygwin。 我已经安装了git.exe并将其添加到系统路径中。 在TortoiseGit中,我可以执行对远程存储库的推送而不需要输入密码。 我认为这是因为在我的 .git/config 文件中已定义了这个设置...

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

然而,当我在项目的根目录(即.git文件夹所在的位置)使用Cygwin时,会提示我输入密码...

$ git push origin qa_release
git@myrepo's password:

为什么我在尝试从Cygwin推送代码时会提示输入密码,而从TortoiseGit则不需要呢?如何让Cygwin像TortoiseGit一样不再要求输入密码?

谢谢,- Dave

1个回答

2

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更改为私钥文件之外,还添加了“用户myuser”和“主机名myhost”行。谢谢,- - Dave
1
顺便说一下,ppk 不是 SSH 公钥。它是 Putty 的私钥。 - gaRex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接