我是第一次尝试在 Eclipse 中设置 egit 的 git 用户,因此我可以继续通过 Eclipse 轻松编写代码。问题是,每次我尝试通过 egit 克隆 repo 时,都会出现错误“无法列出可用分支。原因:ssh://git@github.com:22 /Users/elifinkelshteyn/.ssh/id_rsa 的密码。 " 这真的很奇怪,因为我可以使用相同的 id_rsa 通过终端进行克隆,而且我已经在 Eclipse ssh 属性中验证了它正在尝试使用正确的密钥。是什么赋予了?
5 回答
如果提示您输入密码但 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 并保存文件。
重新登录您的帐户后,它应该可以工作。
正如 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 上应该可以解决问题。
自OP以来已经过去了相当长的时间,我仍然遇到同样的问题。对于那些仍然有这个问题的人,这可能会有所帮助:
确保您确实设置了推送遥控器。当我同时遇到无法获取远程存储库引用- 问题(“...密码短语...”和“推...”对话框中的“身份验证失败”)时,它对我有用。
前提是您已经:
使用 Github 设置 SSH 密钥(Window > Preferences > General > Network Connections > SSH2)
设置您的本地存储库(您可以按照本指南进行操作)
创建了一个 Github 存储库(相同的指南)
...这是您的操作方法:
- 转到Git 存储库视图(窗口 > 显示视图 > 其他 > Git 存储库)
- 展开您的存储库并右键单击远程-> “创建远程”
- "Remote Name": origin, "Configure push": 勾选 -->点击"OK"
- 单击“更改...”按钮
- 粘贴您的 git URI并选择协议ssh -->单击“完成”
- 现在,单击“保存并推送”,现在您应该会收到密码提示->在此处输入公钥密码(前提是您确实(并且应该)为您的公钥设置了密码)->单击“确定”
- 现在你应该得到一个确认窗口,上面写着“Pushed to YourRepository - origin”——>点击“OK”
- 推送到上游,但这次使用“已配置的远程存储库”作为您的目标 Git 存储库
- 去给自己喝一杯当之无愧的咖啡吧!
看起来您的 /Users/elifinkelshteyn/.ssh/id_rsa 文件需要密码,我不确定 Eclipse 中的 ssh 实现是否知道如何提示您输入密码。我的脑后发痒,可能需要为 mac 安装一个 ssh-auth 包,以便它可以提示,如果你能找到更多关于它的信息,它可能是理想的。但是,短期内的解决方法是生成一个不使用密码的新 rsa 密钥,将其上传到 github,并设置 eclipse 使用它。