19

我无法让 git/tortoisegit 使用我提供的 ssh 密钥(使用 PuttyGen 创建)。在命令提示符中我收到一个permission denied错误,在 TortoiseGit UI 中我收到提示输入密码。我尝试了这个 SO question,但如前所述,我使用 PuttyGen 创建,在加载我的密钥的情况下运行 Pageant,并配置为使用 TortoisePlink。

然后我找到了这个 SO question,并尝试使用 git 目录中的 ssh、我的 TortoiseHG 中的 TortoisePlink(用于 Bitbucket/Mercurial),并且如前所述,已经尝试过 TortoiseGit 中的本地 TortoisePlink。

哦,我确实在我的 Git 帐户以及 TortoiseGit 的 Git->Remote 部分中设置了我的 ppk

那么,我错过了什么?

4

7 回答 7

15

检查您的原始网址是什么。

右键单击您的项目文件夹 TortoiseGit-> Settings-> 选择Git->Remote并选择源条目。

检查 url 是否以开头ssh://并且您的私钥已加载。

如果网址以开头,https://那么它每次都会询问您的密码。

希望这可以帮助。

于 2013-05-13T22:35:20.857 回答
4

我也无法使用 github/tortoisegit 完成这项工作。在 linux 的命令行中使用 git 效果很好。然后我使用了我的用户名/密码,如下所述:

http://www.programmoria.com/2012/02/saving-tortoisegit-password.html

和其他地方。这不是一个真正的解决方案(抱歉),而是一种实现相同目的的解决方法:无需输入用户名/密码的自动身份验证。_netrc 文件与私钥一样安全/不安全,私钥也将存储在您计算机的某个位置,因此我认为它是一个可接受的解决方案。当然,欢迎对此发表评论。

于 2012-11-15T01:50:07.343 回答
4

在身份验证方面,一些 Git 服务器有点违反直觉(恕我直言)。例如,Github 文档说:

所有连接都必须以“git”用户身份进行。

ssh://<yourname>@github.com...因此,您必须连接到 ,而不是尝试连接到ssh://git@github.com...

不再要求我输入密码,TortoiseGit 现在Success在完成推送操作后显示。

于 2015-12-30T00:55:53.840 回答
1

我在 v1.8.4 上也遇到了同样的问题,然后我将我的 ssh 客户端切换到 plink 并且它现在工作正常。TortoiseGit 设置 -> 网络 -> SSH 客户端

plink 与标准腻子包中的 peagent 和其他好东西一起分发

显然,某些版本的 TortoiseGit(尤其是 TortoisePlink)存在错误, 请参阅此答案

于 2013-09-03T17:27:05.780 回答
1

您在 OpenSSH 服务器上的帐户是否知道您应该被授权使用您的公钥?

使用 PuTTyGen 加载您的密钥。您将在“用于粘贴到 OpenSSH 授权密钥文件的公钥”下看到一个只读文本区域。复制里面的东西。

使用 PuTTy SSH 进入 SSH 服务器。~/.ssh/authorized_keys使用编辑器打开文件并将复制的文本粘贴到新行中并保存。该~/.ssh目录可能还不存在。在这种情况下,请mkdir ~/.ssh在编辑该文件之前执行此操作。

于 2012-06-29T07:58:50.170 回答
0

使用 Tortoise 2.2.0.0,您需要做几件事。在远程选项卡上,您可以删除已有的 http(s) 源,或者需要添加第二个,使用 ssh:// 并选中 ssh 的“推送默认”复选框,以便 Tortoise 使用它进行推送默认情况下(在我的情况下是 https 来源)。

只有 ssh 需要指定密钥,然后当您推送时,它应该默认将您的新 ssh 源作为目的地,并且不询问您的用户名和密码。

显然,您需要知道您的 URL 中有哪些用户。例如,在 Visual Studio Team Services 中,它是 VSTS 帐户的名称(不是帐户持有人!)。您可能还需要端口号。

这就是我从头开始设置的所有内容,并且效果很好。

于 2016-09-19T16:07:20.513 回答
0

我正在使用 git 2.7 和 tortoisegit 1.8.16 这是我为避免需要密码所做的,它适用于我的情况

右键单击您的项目文件夹 TortoiseGit -> Settings 选择 Git -> Remote 并选择源条目 Change url from https://github ... to ssh://git@github...

于 2016-01-16T16:39:55.463 回答