Visual Studio 2022 git error无法与{0}端口{1}协商:找不到匹配的主机密钥类型.他们的报价



在将VS 2022更新到17.1.1之后,我的Git出现了问题。例如,我不能评论fetch或pusl。我收到一条信息

从原点提取无法与{0}端口{1}协商:找不到匹配的主机密钥类型。他们的报价:ssh rsa无法从远程存储库中提取。有关更多详细信息,请参见"输出"窗口。获取时遇到错误:无法从远程存储库中获取。有关更多详细信息,请参见"输出"窗口。

然而,在VS 2019上运行良好,在SourceTree中我可以发表任何评论。所以这不是有缺陷的ssh-rsa的问题。

我该如何解决?

今天我在VS 2019社区版升级到最新版本时也发生了这种情况(但之前配置的Git连接的IP地址和端口为我显示(。

Visual Studio IDE有自己的Git扩展。尝试在文件夹层次结构中搜索该实例,并在其下搜索ssh配置文件VS2019社区版:

%PROGRAMFILES(x86)%MicrosoftVisualStudio2019CommunityCommon7IDECommonExtensionsMicrosoftTeamFoundationTeam ExplorerGitetcsshssh_config

使用适当的git服务器主机名或IP地址将此配置添加到此文件的末尾或者两者都用空格隔开(以在客户端启用不推荐使用/不安全的加密(:

Host gitserver.local
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa

这就是我的解决方案。

可能还有另一种解决方案可以升级Git服务器端,以支持更安全的加密(例如rsa-sha2-256或512(。

有点旧,但为了完整性。

如果更新VS 2022,则必须再次将行添加到ssh_config文件中。

为了防止这种情况,只需使用另一种密钥类型:

  • 通过:ssh-keygen -t ed25519 -C "your_email"生成新密钥
  • 获取id_ed25519.pub的内容,并将其添加到您的git帐户配置文件中(我们使用bitbucket(
  • 您可能需要将id_ed25519和id_ed25.519.pub添加到.ssh文件夹中

一切都像一个魅力

最新更新