Egit拒绝接受id_rsa

时间:2011-08-22 19:53:33

标签: eclipse git ssh-keys egit

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

5 个答案:

答案 0 :(得分: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

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

重新登录到您的帐户后,它应该有效。

答案 1 :(得分:5)

只是为了确认:这是当前的错误(issue 353561) 密码可能仍然存在问题,具体取决于您在创建密钥时使用的加密(bug 326526)。

但是,应该支持密码(作为Egit user guide mentions)。

答案 2 :(得分: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上应该解决问题。

答案 3 :(得分:1)

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

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

如果你已经:

  1. 使用Github设置SSH密钥(窗口>首选项>常规>网络连接> SSH2)

  2. 设置您的本地存储库(您可以关注this guide

  3. 创建了一个Github存储库(same guide

  4. ...这是你如何做到的:

    • 转到 Git存储库视图(窗口>显示视图>其他> Git存储库)
    • 展开您的存储库并右键单击遥控器 - > “创建远程”
    • “远程名称”:原点,“配置推送”:已选中 - > 点击“确定”
    • 点击“更改...”按钮
    • 粘贴您的git URI 并选择协议 ssh - > 点击“完成”
    • 现在,点击“保存并推送”,现在您应该获得密码提示 - > 在此处输入公钥密码(前提是您已经(并且应该)为您的公钥设置密码) - > 点击“确定”
    • 现在你应该得到一个确认窗口,上面写着“推送到 YourRepository - origin” - > 点击“确定”
    • Push to upstream ,但这次使用“已配置的远程存储库”作为目标Git存储库
    • 为自己喝一杯好喝的咖啡!

答案 4 :(得分:0)

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