10

我是第一次尝试在 Eclipse 中设置 egit 的 git 用户,因此我可以继续通过 Eclipse 轻松编写代码。问题是,每次我尝试通过 egit 克隆 repo 时,都会出现错误“无法列出可用分支。原因:ssh://git@github.com:22 /Users/elifinkelshteyn/.ssh/id_rsa 的密码。 " 这真的很奇怪,因为我可以使用相同的 id_rsa 通过终端进行克隆,而且我已经在 Eclipse ssh 属性中验证了它正在尝试使用正确的密钥。是什么赋予了?

4

5 回答 5

7

如果提示您输入密码但 eclipse 不接受密码,请尝试以下操作:

将 GIT_SSH 环境变量设置为您的 ssh 客户端,例如通过添加

export GIT_SSH=/usr/bin/ssh

到你的 .bash_rc

在 Mac OSX 上,打开终端并输入:

cd
mkdir .MacOSX
cd .MacOSX
echo "" > environment.plist
open environment.plist

添加 KEY=GIT_SSH 和 VALUE=/usr/bin/ssh 并保存文件。

重新登录您的帐户后,它应该可以工作。

于 2011-10-26T11:07:56.157 回答
5

只是为了确认:这是一个当前的错误(问题 353561)。
根据您在创建密钥时使用的加密(错误 326526),密码可能仍然是一个问题。

但是,应该支持密码短语(如Egit 用户指南所述)。

于 2011-08-23T04:22:09.460 回答
3

正如 VonC 所说,EGit 使用的 SSH 实现只能处理 3DES 加密的私钥,这是一个错误。如果你像我一样,你有 AES 加密密钥,所以它只是无法解密它们。该错误报告中有一条评论,这是直接指向评论的链接https://bugs.eclipse.org/bugs/show_bug.cgi?id=326526#c9

该评论提供了一个可行的解决方法:EGit 的最新版本支持 GIT_SSH 环境变量,将其设置为 /usr/bin/ssh 甚至 plink.exe 如果您在 Windows 上应该可以解决问题。

于 2011-09-08T08:48:52.167 回答
1

自OP以来已经过去了相当长的时间,我仍然遇到同样的问题。对于那些仍然有这个问题的人,这可能会有所帮助:

确保您确实设置了推送遥控器。当我同时遇到无法获取远程存储库引用- 问题(“...密码短语...”和“推...”对话框中的“身份验证失败”)时,它对我有用。

前提是您已经:

  1. 使用 Github 设置 SSH 密钥(Window > Preferences > General > Network Connections > SSH2)

  2. 设置您的本地存储库(您可以按照本指南进行操作)

  3. 创建了一个 Github 存储库(相同的指南

...这是您的操作方法:

  • 转到Git 存储库视图(窗口 > 显示视图 > 其他 > Git 存储库)
  • 展开您的存储库并右键单击远程-> “创建远程”
  • "Remote Name": origin, "Configure push": 勾选 -->点击"OK"
  • 单击“更改...”按钮
  • 粘贴您的 git URI并选择协议ssh -->单击“完成”
  • 现在,单击“保存并推送”,现在您应该会收到密码提示->在此处输入公钥密码(前提是您确实(并且应该)为您的公钥设置了密码)->单击“确定”
  • 现在你应该得到一个确认窗口,上面写着“Pushed to YourRepository - origin”——>点击“OK”
  • 推送到上游,但这次使用“已配置的远程存储库”作为您的目标 Git 存储库
  • 去给自己喝一杯当之无愧的咖啡吧!
于 2013-09-01T21:10:43.890 回答
0

看起来您的 /Users/elifinkelshteyn/.ssh/id_rsa 文件需要密码,我不确定 Eclipse 中的 ssh 实现是否知道如何提示您输入密码。我的脑后发痒,可能需要为 mac 安装一个 ssh-auth 包,以便它可以提示,如果你能找到更多关于它的信息,它可能是理想的。但是,短期内的解决方法是生成一个不使用密码的新 rsa 密钥,将其上传到 github,并设置 eclipse 使用它。

于 2011-08-22T21:58:40.610 回答