EGit-SSH密码短语失败(连接到GitHub时)



我正在使用带有EGit(捆绑)的Eclipse Indigo RC4。我有一个项目已经提交到我的本地存储库,现在我想把它推送到我在GitHub中的远程存储库。

从命令行工具推送/拉取可以很好地工作(我已经配置了基于RSA密钥的SSH身份验证)。

但当我尝试从EGit推送(通过指向GitHub的SSH)时,我会收到一个输入密码短语的提示。但当我输入正确的密码短语时,它会再次提示输入相同的密码短语(注意:用户名显示为git,因为这是使用GitHub时的默认值。我想这不会是个问题)。

在Eclipse首选项下,我进行了双重检查,以确保它被配置为使用我生成的RSA令牌。

通过以下链接进行了排序http://www.eclipse.org/forums/index.php/t/197428/.

我创建了一个指向/usr/bin/ssh的环境变量GIT_SSH(这是我在命令行中使用的SSH实现),并启动了Eclipse。当这个环境变量存在时,Eclipse使用我的shell的SSH工具进行连接,并且没有提示密码短语,它运行得很好。

更简单的是从eclipse轨道存储库(p2软件站点)将JSch捆绑包更新到0.1.44:http://download.eclipse.org/tools/orbit/downloads/drops/R20110523182458/repository/

根本问题实际上是JSch<0.1.44不支持更新的加密方案AES-128:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=326526

在Eclipse Juno上,Jsch已经>1.44,但问题仍然存在(对我来说)。我还尝试设置GIT_SSH,但这也不起作用。我以前的密钥是由ssh-keygen生成的,我只能猜测这不会生成合适的密钥。

我所做的工作是这样的:

  • 使用Eclipse生成新的DSA密钥-创建1024位密钥Eclipse->首选项->常规->网络连接->SSH2->密钥管理

    [它可能适用于RSA,我没有尝试]

  • 将生成的公钥复制到远程回购

  • 点击[Save Private Key](保存私钥)按钮,不输入密码

  • 重新启动ECLIPSE

Eclipse/EGit现在将与远程Git Repo同步,而不需要密码短语-phew!

最新更新