52

几周前我开始了一个 github 项目。我能够毫无问题地推动更改(我正在使用 TortoiseGIT)。

今天突然间,当我尝试推送更改时,出现“PuTTY 致命错误”“已断开连接:没有可用的支持的身份验证方法”错误窗口。

您有什么可以解决问题的建议吗?

4

16 回答 16

96

对我来说,只有在使用 TortoiseGit 时才对远程存储库执行操作是有问题的,通过CMD / GitBash根本没有问题。

所以我所做的非常简单: 我打开TortoiseGit --> Settings --> Network并在 SSH Client 中更改为“C:\Program Files\Git\usr\bin\ssh.exe”而不是“TortoiseGitPlink.exe” .

于 2016-07-13T12:24:03.067 回答
17

确保使用 OpenSSH 安装TortoiseGit并且使用SSH 身份验证方法。如果您使用 Putty 安装,系统托盘中可能会有一个名为“Putty Pageant”的“计算机符号”。

于 2012-05-18T09:34:13.530 回答
12

对于 Windows 上的 TortoiseGit 用户
(正如我最初在这个问题中发布的那样)

我曾经使用SSH 存储库 URL来设置我的大部分 Github/Bitbucket 存储库,因为(最初)它曾经是防止 TortoiseGit 在每次操作时提示您输入密码的唯一便捷方法。

但是以这种方式设置 TortoiseGit 总是令人毛骨悚然。每次我都需要几个小时才能正确设置,因为默认安装选项似乎从来没有工作过(即使到 2016 年,天哪!)。

但是 TortoiseGit 现在对 HTTPS 有更好的密码管理,而且Github 实际上建议尽可能使用 HTTPS URL。

SSH 网址: git@github.com:User/repo-name.git

HTTPS 网址:https://github.com/User/repo-name.git

HTTPS 的好处是:

  • 无需管理或生成 SSH 密钥
  • 无需pageant.exe不断运行(每次启动时都会要求您输入密码)
  • 使用来自澳大利亚的 TortoiseGit,我发现通过 HTTPS 进行的克隆比 SSH 快 5-10 倍
于 2016-06-20T08:35:56.610 回答
11

通过将私钥添加到 Pageant 中,我能够修复此错误。我在创建密钥的过程中忘记了这样做,一旦我添加了它,我就不再收到错误了。

于 2013-04-19T05:21:58.467 回答
10

为了解决这个问题,我不得不从开始菜单手动运行 Pageant:

图片描述

之后,我在系统托盘中看到了选美:

图片描述

我可以添加我的密钥。通常,键在%userprofile%\.ssh.

于 2017-02-21T09:26:27.320 回答
9

就我而言,Tortoise Git 丢失了 PuttyKey。所以我不得不去 TortoiseGit设置 > Git > 远程 ,在这个部分我点击远程框架我的原点和 PuttyK 键没有设置(以前)。我不得不重新设置它。

于 2015-08-19T14:02:27.313 回答
8

我想通了——它的发生是因为自从开始从事该项目以来,我重新安装了 TortoiseGIT。拉取进展顺利,但是当我试图推回我的更改时,TortoiseGIT 需要我的身份验证密钥,该密钥未配置。

编辑

为了解决这个问题,我只是从我的 TortoiseGit 中清除了所有身份验证数据,位于:上下文菜单“Tortoise Git” -> 设置 -> 保存的数据 -> 身份验证数据 [清除]

于 2010-04-17T08:38:37.723 回答
1

对我来说,将 GIT 升级到 2.8.0 后出现此错误。问题是由于 $HOME 目录被 bash 错误读取并默认为 Windows 安装文件夹下的某个系统位置:/c/Windows/system32/config/systemprofile.

事实证明,需要进行一些环境变量清理。很久以前,我安装了一个 GIT 版本(大约 1.7.x),它在系统环境变量中创建了一个 HOME 变量。由于行为发生了一些变化,因此需要在升级到 2.8.0 后将其删除,而不是添加进一步的 HOME 用户环境变量。

于 2016-04-04T14:06:08.950 回答
1

[WINDOWS] [在 TORTOISE SVN 之后安装的 GIT (1)
同样的问题] (1)不是 TortoiseGit,而是 Git 开发社区版本。

在 git bash 中:

    echo $GIT_SSH

在给

    GIT_SSH=C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe

(感谢上面的 Răzvan Flavius Panda 和 Shahar Hamuzim Rajuan

我不得不将Windows 系统环境变量中 GIT_SSH 的值从

from   C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe
to     C:\Program Files\Git\usr\bin\ssh.exe

(之前,我在 git bash 中成功尝试输入:

    export GIT_SSH='C:\Program Files\Git\usr\bin\ssh.exe'

所以我们可以在 C:\Program Files\Git\etc\bash.bashrc 中添加这一行,以使更改永久生效。请注意,在 C:\Program Files\Git\setup.ini 中修改 GIT_SSH 失败)

于 2021-12-15T15:25:22.297 回答
1

就我而言,当我取消选中并检查 AutoloadPutty 键时,它得到了解决。

于 2022-01-24T16:51:53.627 回答
0

在这里查看我的帖子。我刚才遇到了这个问题,并尝试了这里发布的所有内容,但我无法解决它。最后是与现有 PuTTy 配置相关的完全相同的问题 => [ TortoiseSVN 不断询问我的密码

于 2016-12-20T11:44:01.420 回答
0

我遇到了同样的错误,这是在成功推送到我的存储库数月后随机发生的。就我而言,在Tortoisegit->Settings->Git->Remote中,Push URL字段不知何故为空。

于 2017-01-08T13:39:14.853 回答
0

作为一个新用户,我在创建新项目时遇到了与 GitLab 和 Eclipse 相同的错误。作为一名学生,我使用不同的 PC 并且我的密钥有问题,但我认为它已经解决了,因为我创建了一个新的干净集并且我的上一个项目运行良好。不幸的是,错误再次发生在一个新项目上。

我发现创建一个新的 Eclipse 项目默认为我的 ssh 目录,而不是我在当前项目中使用的 .ssh。我最初使用 ssh 目录,但在问题更改为 .ssh 后使用新密钥。

在 Window > Preferences > General > Network Connections > SSH2 中更改为 .ssh 解决了该问题。

我发布此消息是因为我花了很多时间寻求有关我的密钥的帮助,但没有找到与我的问题相关的任何内容。

于 2020-02-24T10:13:00.267 回答
0

我改为C:\Program Files\Git\usr\bin\ssh.exe代替TortoiseGitPlink.exe并保存。并将其改回TortoiseGitPlink.exe并解决了此错误。

于 2020-12-09T08:13:38.010 回答
0

确保在克隆时选中“加载腻子键”复选框,如果未选中,则会给出相同的错误

于 2021-07-13T13:40:06.527 回答
-1

对我来说,我必须将我的“msysgit”版本更新到 1.7.10+ 版本。完成后,我没有遇到上述错误。我认为您可能需要检查是否安装了msysgit,如果没有安装它。

于 2013-06-19T13:32:42.903 回答