Eclipse Git(Egit)不接受远程用户名和密码

Posted

技术标签:

【中文标题】Eclipse Git(Egit)不接受远程用户名和密码【英文标题】:Eclipse Git (Egit) not accepting remote username and password 【发布时间】:2018-02-19 13:28:36 【问题描述】:

为什么 Egit 从远程获取时不接受用户名和密码?

这些是我遵循的步骤:

    在 Git Repositories 视图中,我展开 Project -> Remotes -> origin 右键点击原点->获取 出现登录掩码;我插入用户名和密码 另外重复步骤 3 两次 出现错误消息:https://companyname.visualstudio.com/.../projectname: not authorized

凭据是正确的,我已获得授权,因为我每天都将它们与任何类型的 git 界面一起使用:TortoiseGit、SmartGit、Git Bash、...

我做了研究,但没有发现这个问题。类似的问题也没有解决这个问题。


更新:我使用了this guide 之后的解决方法。我从 Visual Studio Team Services 帐户创建了一个访问令牌,并将其用作密码。

我的 git 安装使用 Git Credential Manager (GitHub page, Microsoft guide to GCM) 来存储凭据,事实上,当我第一次通过上面提到的接口运行 git 并尝试连接到团队服务 Git 存储库时微软帐户登录窗口弹出,就是这样。我也可以通过运行命令git config --list 并获取credential.helper=manager 来判断它。

Eclipse 已安装 Team Explorer Everywhere plug-in,因此它应该与 Git 凭据管理器交互并接受 Microsoft 帐户凭据,但它没有。所以这仍然是一个悬而未决的问题。

【问题讨论】:

您的 git 服务器设置是使用您的用户名和密码(本地)还是什么?您是否认为它将使用您的 AD 凭据?身份验证和授权解决方案如何设置?? 你使用 Eclipse 的 TFS 插件吗? msdn.microsoft.com/en-us/library/hh301122(v=vs.120).aspx 【参考方案1】:

您提到的 Git 客户端使用“本机”git,并且在与服务器通信期间透明地提供凭据。

Eclipse git 客户端 (jgit+egit) 是完全基于 java 的,遗憾的是您不能在 Eclipse 中使用本机 git。

您的 Git 服务器在本地有用户+密码(不是企业级的!),或者您可以在 Eclipse git 中使用 Kerberos 票证; 但是在运行 Eclipse 之前,您应该使用kinit 创建一个带有您的用户登录的票证,该票证可以从 java 进程访问。 (通常票在您的用户主目录中)

使用 kinit 的示例:

我不太确定 TFS 插件,但也许在你的情况下值得安装它,看看它是否对你有帮助,而不是嵌入式 egit,见 https://msdn.microsoft.com/en-us/library/hh301122(v=vs.120).aspx

【讨论】:

为什么我的队友可以使用 Eclipse 连接到远程而不运行任何这些步骤?顺便说一句,我不是服务器管理员,我们的操作系统是 Windows。 好的,但是使用上面没有帮助?或者你没有尝试?您可以在调试模式下启动 eclipse 并查看所有网络交换(http 和 https),查看发生了什么问题等。检查 ssl 日志,也许您需要将 ca 证书导入到您的 cacert。 我提到的 Git 客户端使用 Git 凭据管理器来接受和存储 Microsoft 帐户凭据。有关详细信息,请参阅更新。 @Luke 据我所知,没有支持 Git 凭证管理器的 jgit 官方版本!它尚未(尚未)实施!并且绝对没有捆绑在任何 Eclipse 版本中! (我应该知道 ;) .. 你从我之前的评论中尝试过什么吗? 我试过 TFS 插件,它安装了 Team Explorer Everywhere。我不知道如何在 Windows 中运行 Kerberos 命令或 kinit。【参考方案2】:

我也遇到了同样的问题

从 git 端 设置-->开发者设置-->个人访问令牌-->生成新令牌-->复制该令牌并将该令牌用作密码。

【讨论】:

【参考方案3】:

解决这个问题的方法是去

Window->Preferences->Team->Git

然后将HTTP客户端从Apache HTTP改为Java Built-in HTTP

【讨论】:

以上是关于Eclipse Git(Egit)不接受远程用户名和密码的主要内容,如果未能解决你的问题,请参考以下文章

Egit 工作目录与 Eclipse 中的项目

解决eclipse中egit中的cannot open git-upload-pack问题

Eclipse git 冲突合并

eclipse 将gitLab远程仓的项目导入eclipse中

eclipse 将gitLab远程仓的项目导入eclipse中

Eclipse上安装GIT插件EGit及使用