我安装Eclipse已经有一段时间了。几周前我升级到了2018-12。很长一段时间以来,我已经为所有git repos(集中存储在BitBucket服务器中)设置了ssh身份验证。它一直运作得很好。
今天我不得不重新启动Windows7笔记本电脑进行一些自动安装,这种情况每月都会发生几次。
!MESSAGE ssh://git@.../....git: No more authentication methods available
!STACK 0
org.eclipse.jgit.api.errors.TransportException: ssh://git@.../.....git: No more authentication methods available
at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:254)
at org.eclipse.jgit.api.PullCommand.call(PullCommand.java:290)
at org.eclipse.egit.core.op.PullOperation$PullJob.run(PullOperation.java:256)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.eclipse.jgit.errors.TransportException: ssh://git@.../.....git: No more authentication methods available
at org.eclipse.jgit.transport.sshd.SshdSessionFactory.getSession(SshdSessionFactory.java:249)
然后我去了我的cygwinshell中的一个本地存储库,尝试了一个“git拉”。这个效果非常好。
我最近所做的唯一可能与此相关的更改是,除了Cygwin git之外,我还安装了Windows版本的git。我把它放在路的尽头。我看不出这有什么影响,因为Eclipse正在使用它。
更新
:
我想我刚刚解决了问题,但我不确定真正的问题是什么。
当我几周前安装2018-12时,我想我注意到了一个即将到来的对默认ssh客户端的更改。我注意到我现在准备使用JSch,并且我认为发行说明说它将移动到“apachemina”,所以我决定现在就更改它,看看它是如何工作的。好几个星期都没问题。
刚才我试着把那个字段改回“JSch”,然后做一个拉。效果不错。为了确定,我把它改回了“apachemina”,然后再试一次。还是失败了。把它改回“JSch”就行了。
我不知道这是怎么回事。