我已经在Eclipse Helios上安装了EGit插件,我正在尝试将它与我的GitHub帐户一起使用,但是当我尝试配置它时,我收到"Auth Failed"错误.
我一直在谷歌搜索它,但没有运气......这似乎是我的密码问题,但AFAIK EGit正在寻找正确的地方(/home/user/.ssh/id_rsa
),我在连接ssh
或git
控制台客户端没有问题.
一些博客说这是URI和Egit解析器的问题,但我还没有找到解决方案.
我的回答可能已经过时,但希望它对某些人有用.
在Eclipse中,转到Window> Preferences> General> Network Connections> SSH2(或在Preferences窗口过滤器框中输入"SSH2").
在"密钥管理"选项卡中,按 "生成RSA密钥..."按钮.您可以选择将注释(通常是电子邮件地址)和密码添加到您的密钥中.在GitHub上进行身份验证时将使用密码短语.
复制生成的公钥(在"生成RSA密钥..."按钮下方的框中)并将其添加到您的GitHub帐户.
按"保存私钥..."按钮将您的私人RSA密钥保存到文件中.默认情况下,密钥存储在SSH2主目录中(请参阅"常规"选项卡).
而已!现在您应该能够将代码推送到GitHub仓库.
我有完全相同的问题,但我从Eclipse错误报告中找到了解决办法!
必须使用ssh可执行文件[1]的路径设置名为GIT_SSH的环境变量.
例如在Ubuntu Linux(10.10 64bit)上:
> export GIT_SSH=/usr/bin/ssh > eclipse
之后推送到GitHub存储库工作就像他们应该的那样.我用Eclipse Galileo和Indigo测试了这个.
问题真的很烦人,而且解决方案还远远不够好.现在,使解决方案成为永久性的,至少Ubuntu用户必须使env变量永久化.可以通过将导出命令添加到〜/ .profile或〜/ .bashrc [2]来完成.例如:
> cd ~ > echo "export GIT_SSH=/usr/bin/ssh" >> .profile
然后重启Eclipse以使其生效.
资料来源:
[1]解决方案来自此错误报告
[2] 持久环境变量的Ubuntu社区文档:
我通过选择http
协议并提供我的GitHub用户名和密码来解决它.
在花了几个小时寻找这个问题的解决方案后,我终于通过在Eclipse论坛上提到的更改来获得金牌.
脚步:
先决条件:mysysgit使用默认配置安装.
1.创建文件C:/Users/Username/.ssh/config(将"用户名"替换为您的Windows 7用户名.(例如C:/Users/John/.ssh/config))并将其放入其中:
Host github.com HostName github.com User git PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa
2.尝试在Eclipse中设置远程存储库.
干杯.它应该完美.
您需要安装msysgit,安装后需要打开Git Bash并输入以下命令:
$ git config --global user.name "Gennadiy Zlobin" (your name) $ git config --global user.email gennad.zlobin@gmail.com (your email) $ ssh-keygen -C "gennad.zlobin@gmail.com" -t rsa (your email)
现在生成的密钥就在C:\Users\username\.ssh
(在Windows 7中).
接下来,在Github上将公钥的内容加载到项目中
在Eclipse中打开Window->Preferences->General->Network->SSH2
并设置~/.ssh
为SSH Home
之后转到Key Management tab
并加载现有密钥 - 在此设置您的私钥~/.ssh
.
之后,您可以将项目推送到Github(但我设置了ssh协议,而不是git + ssh).
我把我的密钥添加到ssh解决了同样的问题;
ssh-add ~/.ssh/id_rsa
然后输入密码并需要重启.