当前位置: 首页 > 知识库问答 >
问题:

无法在Git for Windows中使用/调试SSH auth

阴禄
2023-03-14

我在Windows 10上使用Git for Windows,我使用GitExtension作为我的GUI。为了向各种Git存储库进行身份验证,我使用putty/pageant并将我的密钥加载到其中。GitExtension以某种方式与此配合使用。最近,我在https://gitlab.example.com遇到了一个Git存储库,GitExtension试图在其中执行git clone并告诉我:致命:协议错误:行长字符错误:git@我还尝试使用gitbash手动进行克隆。当我尝试手动调用git clone时,git bash会要求我输入git@gitlab.example.com的密码。我现有的带有加载密钥的pageant会话被忽略了。

我不知道如何调试或问题是什么。以下是我目前的发现:

  • GitExtensions没有git日志记录,所以他们的神秘消息是:致命的:协议错误:错误的行长字符:git@,我无法看到返回的整个错误
  • Git for Windows忽略了我的putty/pageant键,并一直试图在中查找键。ssh目录
  • 如果我创建系统环境变量GIT\u SSH,路径为plink。而Git只是忽略了它。它一直在中查找键。ssh目录
  • 当我在cmd中运行set GIT\u SSH时,它会打印出:GIT\u SSH=C:\Program Files(x86)\GitExtensions\PuTTY\plink。exe
  • 当我在GIT bash中运行set GIT\u SSH时,它会输出:
  • 当我在git bash中运行export时,它将列出变量,并将列出具有正确值的git\u bash变量。我不知道那是什么意思

所以目前我有一台安装了Git的视窗机器,我无法使用腻子/选美SSH集成连接到存储库。我甚至无法看到错误,因为无论是Git还是Git扩展都不允许我看到错误消息,Git也不会使用我的腻子/选美SSH密钥进行身份验证。

我怀疑GitExtensions试图通过pageant使用SSH密钥。exe,但服务器拒绝了它,并以类似于<代码>git@gitlab.example.com密码:,GitExtensions会引爆,因为它不知道如何处理它。

我也不明白为什么Windows中的gitbash不使用running pageant。从中获取SSH密钥的exe实例。根据这个论坛上的几十个线程的说法,应该通过简单地设置GIT\u SSH环境变量来完成,但在我的情况下,这不会发生。

我该如何继续?


共有1个答案

史俊德
2023-03-14

如果您的Windows是最新的Windows 10,则不再需要pagent/putty。

只需确保您的%PATH%包含Git for Windows附带的打包OpenSSH。

使用以下命令在CMD中进行测试:

set PATH=C:\Program Files\Git\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\mingw64\libexec\git-core;%PATH%
where ssh
set GIT_SSH=

第二个命令应该打印C:\Program Files\Git\usr\bin\ssh。exe。第三个应该为空

从该CMD中,再次尝试SSH URL
只需键入bash,即可从该CMD打开bash。(保持在同一CMD中,以继承您的更改)。

如果您有旧的putty SSH密钥,请使用以下命令重新生成新密钥(仍然来自该CMD):

ssh-keygen -t rsa -P "" -f ~/.ssh/myKey1

然后在~/. ssh/config

主机myRepo1主机名/url/to/repo1用户git-IdentityFile ~/。ssh/myKey1

测试它:

git ls-remote myRepo1

然后检查GitExtension文档“Remotes/OpenSSH和github”,并尝试使用OpenSSH而不是putty密钥。

 类似资料:
  • 问题内容: 我正在尝试使用Eclipse作为IDE在计算机上调试简单的Java应用程序。当我尝试通过进入Debug Perspective调试应用程序时,我设置了一个断点并开始调试。在几秒钟内,将出现以下弹出窗口: 。 在控制台上转储的消息如下: 我该如何纠正?为什么会这样? 问题答案: 我只是有同样的问题。 昨天一切正常,现在什么都没有了-与您给出的错误相同。我发现网络管理员在此期间进行了一些更

  • 我在pycharm中调试单元测试时遇到问题。我可以使用我的配置很好地运行它们,但当我运行调试器时,会得到以下错误输出: 我的目录结构是: 我的unittest配置是: 看起来像: 做什么?如何确保在调试期间找到它?问题实际上与正在查找的文件/目录无关吗?

  • 我正在Android Studio中制作一个应用程序,现在正试图通过adb进行调试。当我点击Android这个词和底部栏上的logo时,logcat就会出现并识别出我的设备。然后我看到: 我需要对我的应用程序做什么才能使其“可调试”? 仅供参考,之前在Eclipse中开发这个应用程序,亚行工作得很好。

  • 我在xamarin Studio(monotouch)开发了一个ipad应用程序,突然我不能在ios设备(ipad)中调试这个应用程序了,但是在ios模拟器中一切正常。 从“构建输出”中,我得到了以下信息,任何想法都很好。 错误MT0000:意外错误-请在http://bugzilla.xamarin.com系统伊奥。IOException:在路径/卷/BOOTCAMP/IPAD_GIT/Vend

  • Spring Boot由maven插件启动。当访问localhost:8080/parse时,它会显示错误的模糊描述,但我在这里看不到stacktrace,在IntelliJ控制台输出中也看不到它。如何获取错误信息? 控制台输出: 网页 更新 配置

  • 我正在尝试学习Android中的本机应用程序开发,为此我创建了一个示例应用程序,现在我正在尝试调试它。我按照此页面上的教程进行调试。但是现在当我开始使用此配置进行调试时,我得到以下错误: 我的开发环境(如果需要): 任何帮助赞赏。