git eclipse 更新 2021-03 后身份验证失败
git auth fails after eclipse update 2021-03
在最近的 eclipse 更新 2021-03 之后,所有 bitbucket.org 存储库都不能 pull/push 了:
Pulling 1 repository
git@bitbucket.org:Acountxxx/Repoxxx.git: Cannot log in at bitbucket.org:22
git@bitbucket.org:Acountxxx/Repoxxx.git: Cannot log in at bitbucket.org:22
我尝试在一个新的工作区中克隆存储库,同样使用 ssh:
URI: ssh://bitbucket.org/REPOxxxx.git
主持人:bitbucket.org
存储库路径:REPOxxxxx.git
协议:ssh
端口:空白
用户:空白
密码:空白
运行 进入同样的异常:
ssh://bitbucket.org:Acountxxx/Repoxxx.git: Cannot log in at bitbucket.org:22
CMD git pull
或 git push
仍然可以正常工作。
有没有人遇到同样的问题并找到解决方案?
环境:
Windows 10
git 版本 2.30.1.windows.1
月食 2021-03
电子版:5.11.0.202103091610-r
编辑:同样有趣的是,其他存储库,例如来自 github 仍然可以正常工作。此行为对于 bitbucket 上的私有和 public 存储库是相同的。
您可能面临 EGit/JGit 5.11 的以下已知问题,对此有两个解决方法(请参阅 New and Noteworthy of EGit 5.11):
Bug 572056: Connecting to bitbucket.org with an RSA key:
the SSH library used has changed in JGit from Apache MINA sshd 2.4.0
to 2.6.0. sshd 2.6.0 by default does public-key authentication for RSA
keys using the rsa-sha2-512 signature algorithm only. Servers that
do not understand that mechanism but only the older ssh-rsa
signature algorithm will then refuse the log-in.
- Known affected git servers: bitbucket.org, AWS Code Commit
- Work-arounds:
- Use an ed25519 key.
- Use an external SSH via environment variable
GIT_SSH
.
根据howlger about Known_problems -> Bug 572056 - Cannot work with Bitbucket after Eclipse update的信息,我做了以下解决方法解决了这个问题。
打开CMD并运行:
ssh-keygen -t ed25519
这创建了一个新密钥:C:/Users/USER/.ssh/id_ed25519
登录到 bitbucket 并添加新的 public 密钥文件 (C:/Users/USER/.ssh/id_ed25519.pub)键:
https://bitbucket.org/account/settings/ssh-keys/
在 eclipse 首选项中配置此键:
然后拉和推再次工作。一点研究表明,ed25519 比默认的 RSA 算法更安全、更快,因此实际上是一个非常好的解决方案。
在最近的 eclipse 更新 2021-03 之后,所有 bitbucket.org 存储库都不能 pull/push 了:
Pulling 1 repository
git@bitbucket.org:Acountxxx/Repoxxx.git: Cannot log in at bitbucket.org:22
git@bitbucket.org:Acountxxx/Repoxxx.git: Cannot log in at bitbucket.org:22
我尝试在一个新的工作区中克隆存储库,同样使用 ssh:
URI: ssh://bitbucket.org/REPOxxxx.git
主持人:bitbucket.org
存储库路径:REPOxxxxx.git
协议:ssh
端口:空白
用户:空白
密码:空白
运行 进入同样的异常:
ssh://bitbucket.org:Acountxxx/Repoxxx.git: Cannot log in at bitbucket.org:22
CMD git pull
或 git push
仍然可以正常工作。
有没有人遇到同样的问题并找到解决方案?
环境:
Windows 10
git 版本 2.30.1.windows.1
月食 2021-03
电子版:5.11.0.202103091610-r
编辑:同样有趣的是,其他存储库,例如来自 github 仍然可以正常工作。此行为对于 bitbucket 上的私有和 public 存储库是相同的。
您可能面临 EGit/JGit 5.11 的以下已知问题,对此有两个解决方法(请参阅 New and Noteworthy of EGit 5.11):
Bug 572056: Connecting to bitbucket.org with an RSA key: the SSH library used has changed in JGit from Apache MINA sshd 2.4.0 to 2.6.0. sshd 2.6.0 by default does public-key authentication for RSA keys using the rsa-sha2-512 signature algorithm only. Servers that do not understand that mechanism but only the older ssh-rsa signature algorithm will then refuse the log-in.
- Known affected git servers: bitbucket.org, AWS Code Commit
- Work-arounds:
- Use an ed25519 key.
- Use an external SSH via environment variable
GIT_SSH
.
根据howlger about Known_problems -> Bug 572056 - Cannot work with Bitbucket after Eclipse update的信息,我做了以下解决方法解决了这个问题。
打开CMD并运行:
ssh-keygen -t ed25519
这创建了一个新密钥:C:/Users/USER/.ssh/id_ed25519
登录到 bitbucket 并添加新的 public 密钥文件 (C:/Users/USER/.ssh/id_ed25519.pub)键:
https://bitbucket.org/account/settings/ssh-keys/
在 eclipse 首选项中配置此键:
然后拉和推再次工作。一点研究表明,ed25519 比默认的 RSA 算法更安全、更快,因此实际上是一个非常好的解决方案。