23

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

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

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

在 Eclipse 首选项下,我已仔细检查以确保它已配置为使用我生成的 RSA 令牌。

4

3 回答 3

22

通过以下链接http://www.eclipse.org/forums/index.php/t/197428/将其整理出来。

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

于 2011-06-11T13:05:43.130 回答
13

更简单的是从 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

于 2011-08-11T20:20:55.857 回答
2

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

我所做的工作是这样的:

  • 使用Eclipse生成新的DSA密钥——创建1024位密钥Eclipse->Preferences->General->Network Connections->SSH2->Key Management

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

  • 将生成的公钥复制到远程仓库

  • 在不输入密码的情况下单击 [保存私钥] 按钮

  • 重启日食

Eclipse/EGit 现在将与远程 Git Repo 同步,无需密码 - 呸!

于 2012-11-27T00:30:54.047 回答