Eclipse Egit 无法登录 Bitbucket

7

一切都正常,直到我让Spring Tool Suite(Eclipse)运行自动更新。其中之一的更新是Egit。现在,当我尝试拉取存储库或与任何团队功能交互时,我会收到以下错误:

git@bitbucket.org:my-company/my-repo.git: Cannot log in at bitbucket.org:22

我已经尝试了我能想到的和在网上找到的其他所有解决方案,包括恢复更新之前的配置,但似乎都没用。是否有人对问题可能是什么有任何建议?


请具体说明。您从哪个版本升级到了哪个JGit/EGit版本?您使用哪个克隆URL和哪种协议?您具体回滚了什么?您尝试了哪些其他解决方案? - howlger
我想你也想知道Eclipse的版本(虽然我想你可以从egit版本中推断出来),并且他们在egit首选项中选择的“SSH客户端”和“Http客户端”是否重要? - David M. Karr
3个回答

4

最近的Eclipse 2021-03中EGit发布存在已知问题

已知受影响的git服务器: bitbucket.org、AWS Code Commit、Azure DevOps

解决方法:

  • 安装EGit夜间版本,或者
  • 使用ed25519密钥或ECDSA密钥,或者
  • 使用环境变量GIT_SSH通过外部SSH连接。

我使用最后一种方法。

$ GIT_SSH=/usr/bin/ssh eclipse

“EGit维护版本构建(最新稳定分支)5.11.1.202103100129应该可以工作吗?我更新到这个版本后仍然存在同样的问题。” - K.Nicholas
答案:不,5.11.1.202103100129 仍存在同样的问题。对我来说是在 5.11.1.20210507 中修复了。 - K.Nicholas

1
这可能是Eclipse EGit插件v. 5.11的问题。该问题已在插件的五月夜间版本中得到解决。您需要安装它,因为它是目前的最新版本。在Spring Tool Studio(Eclipse)中,我除了按照说明操作外,还需要执行“帮助/检查更新”操作。

0

此类错误信息出现的原因可能有:

  • 在生成新密钥并覆盖旧文件(通常为/home/user/.ssh/id_rsa)期间,您的SSH密钥被覆盖了
  • 输入错误的密码三次后,无法访问受密码保护的SSH密钥
  • 通过静默工具生成了新密钥,并删除了以前的密钥
  • eclipse更新或插件更新导致SSH2密钥配置丢失
  • 可能还有其他原因

在任何情况下,建议您通过ssh-keygen命令行工具创建新的SSH密钥。这不仅增加了安全性,而且解决了eclipse的问题。您可以通过在两个问题上按[Enter]键跳过生成密钥的过程。

创建新密钥后,应将其导入bitbucket(而非Bigbucket)。由于之前的密钥已失效,因此可以从您的个人资料中删除它。当然,出于安全原因,您应使用不同的密钥连接不同的机器,对吧?

现在您应该能够在命令行上使用它了。尝试使用git fetchgit pull

为了使其在Eclipse Egit中工作,您需要将私钥添加到SSH2私钥列表中。它可以在以下位置找到:

Windows > Preferences > General > Network Connection > SSH2 > General

只需使用添加私钥...按钮即可。该文件通常称为id_rsa,没有扩展名或者它带有用户指定的名称。

在我的情况下,添加私钥后无需重新启动即可正常工作。


不幸的是,问题不知怎么就解决了。我不确定我做了什么,但它一直在工作,直到我再次更新Spring Tool Suite,现在又无法工作了!Git在命令行中很好用,所以问题只出现在STS中的EGit上。 - pconrey
一旦它再次出现,随时可以尝试我的建议并报告您的结果。 - woodz
我这里也遇到了同样的问题。通过命令行访问是正常的。我尝试将密钥添加到Eclipse密钥列表中,但没有改变。 - dan carter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接