EGit和GitHub出现“Auth Failed”错误

我已经在Eclipse Helios上安装了EGit插件,我试图将其与我的GitHub帐户一起使用,但是当我尝试configuration它时,出现“Auth Failed”(Auth失败)错误。

我一直在使用Google,但没有运气…这似乎是我的口令问题,但AFAIK EGit正在寻找正确的地方( /home/user/.ssh/id_rsa ),我没有问题连接sshgit控制台客户端。

有些博客说这是URI和Egit的parsing器的问题,但我还没有find解决scheme。

我的答案可能已经过时,但希望对某人有用。

  1. 在你的Eclipse中,进入窗口>首选项>常规>networking连接> SSH2 (或者只需在首选项窗口filter中input“SSH2”)。 (DD)我试图加载一个已知的好的id_rsa键,我之前从命令行推送了我的仓库,而且工作正常。 当试图在第二步中“添加”密钥时,我发现两个密钥的长度是不同的。 也许这就是埃及和日食在哪里? 我为github生成的密钥是2048年,由Eclipse / EGit生成的密钥长度是1024.不知道SSH是否足以查看这是否是问题。

  2. “密钥pipe理”选项卡中按“生成RSA密钥…”button。 您也可以select将注释(通常是电子邮件地址)和密码添加到您的密钥中。 在GitHub上进行身份validation时会使用密码。

  3. 复制您生成的公钥(在“生成RSA密钥…”button下面的一个框中),并将其添加到您的GitHub帐户。
  4. “保存私钥…”button,将私钥保存到文件中。 默认情况下,密钥存储在SSH2主目录中(请参阅“常规”选项卡)。

而已! 现在你应该能够将你的代码推送到GitHub仓库。

我有完全相同的问题,但我发现从Eclipse错误报告治愈!

一个名为GIT_SSH的环境variables必须设置一个到ssh可执行文件的path[1]。

例如在Ubuntu Linux(10.10 64位)上:

 > export GIT_SSH=/usr/bin/ssh > eclipse 

之后,推到GitHub存储库的工作就像他们应该。 我用Eclipse Galileo和Indigotesting了这个。

这个问题真的很烦人,解决scheme远非如此。 就目前而言,至less让Ubuntu用户永久使用这个解决scheme,必须让envvariables永久化。 可以通过将export命令添加到〜/ .profile或〜/ .bashrc [2]来完成。 例如:

 > cd ~ > echo "export GIT_SSH=/usr/bin/ssh" >> .profile 

然后重新启动Eclipse才能生效。

资料来源:

  • [1]解决scheme来自这个错误报告
  • [2] Ubuntu社区持久化环境variables的文档 :

我解决它通过selecthttp作为协议,并给我的GitHub用户名和密码。

花了几个小时寻找解决这个问题的方法之后,我终于在Eclipse论坛上提到了所做的更改。

脚步:

先决条件:mysysgit以默认configuration安装。

1.创build文件C:/Users/Username/.ssh/config(用你的Windows 7用户名replace“Username”(例如C:/Users/John/.ssh/config))并将其放入:

 Host github.com HostName github.com User git PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa 

2.现在在Eclipse中尝试设置远程存储库。

干杯。 它应该完美地工作。

你需要安装msysgit,安装后你需要打开Git Bash并input这些命令:

 $ 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 

然后input密码并需要重新启动。

对于使用SSH的* nix用户:

确保您本地计算机上的帐户用户名与服务器上帐户的用户名没有区别。 显然,eGit似乎无法处理这个问题。 例如,如果你的本地机器上的用户名是'john',并且你在服务器上使用的帐户被命名为'git',例如只是无法连接(对我来说)。 我发现唯一的工作是确保你有相同的用户名在本地计算机和服务器。

我的fourpenneth:我的SSH密钥设置在Cygwin,在C:\ cygwin \ home \ <user> .ssh,所以我指向SSH而不是默认的(Win7) ,按照这些说明: http : //wiki.eclipse.org/EGit/User_Guide/Remote#Eclipse_SSH_Configuration

并使用ssh协议,它工作正常。 尽pipe如此,尝试使用git协议仍然给“用户不支持git协议”。

对于像我这样的人,你已经设置了你的ssh-keys,但是仍然得到了错误:

确保你设置了一个推动遥控器 。 当我同时在“Push …”对话框中同时获得远程资源库refs -problems(“… Passphrase for …”和“Auth fail”)时,它对我有效。

假设你已经:

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

  2. 设置你的本地仓库(你可以按照这个指南 )

  3. 创build一个Github仓库( 相同的指南 )

…这是你如何做到这一点:

  • 转到Git存储库视图 (窗口>显示视图>其他> Git存储库)
  • 展开您的存储库并右键单击远程 – > “创build远程”
  • “远程名称”:来源,“configuration推送”:选中 – > 点击“确定”
  • 点击“更改…”button
  • 粘贴你的git URI并select协议ssh – > 点击“完成”
  • 现在, 点击“保存并推送” ,现在你应该得到一个密码提示 – > 这里input公钥密码短语 (假设你的DID(你应该)设置一个密码到你的公钥) – > 点击“确定”
  • 现在你应该得到一个确认窗口,说“推到你的仓库 – 起源” – > 点击“确定”
  • 推向上游 ,但是这次使用“Configured remote repository”作为您的Destination Git存储库
  • 去拿一杯好喝的咖啡!

我解决它通过selecthttps作为协议,然后添加我的github用户名和密码

我更新了夜间版本的插件: http : //www.eclipse.org/egit/download/

随着更新,它为我工作。 (Eclipse Helios,Mac OS X)

你有没有尝试使用ssh协议,而不是在git + ssh? 我有同样的问题,并解决它,即使官方文档告诉使用git + ssh

在Windows上,将GIT_SSH git附带的GIT_SSH设置为openssh不起作用(在提交期间Eclipse挂起)。 设置为TortoisePlink解决了这个问题(我想原来的plink也可以)。 现在额外的好处是Eclipse使用存储在pageant中的键。

我在Eclipse论坛上发现了一个post,为我解决了这个问题。

我有同样的问题,似乎是configuration问题。 github mac osx应用程序创build了一个名为github_rsa的ssh私钥

在你的Eclipse中,转到Window > Preferences > Network Connections > SSH2

在常规选项卡中,您应该看到SSH2 home /Users/<you username>/.ssh /。ssh,您可能会看到id_dsa,id_rsa被定义为私钥。

点击“添加私钥”并select位于/Users/<you username>/.ssh /。ssh的github_rsa

如果您有PEM文件 :在Eclipse中,转到窗口>首选项>networking连接> SSH2 ,然后将path添加到您的PEM文件“私钥”,这应该可以解决问题。

我想公开一次,我也是一个谷歌代码修复,并得到了同样的错误。 开始使用此video,但保存并发布出错。 我看到有关于这个问题的几个问题。 有些是Windows用户,那些是最幸运的,因为通常没有权限问题,有些是Linux用户。

我有一个移动开发使用的Mac,经常遇到这个问题。 这个问题的根源是“独立于平台”的解决scheme,对mac不够关心,他们没有权限访问钥匙串,在那里存储证书,.pem文件等等。

我只想做的就是不做任何环境设置,也不用命令行,只需简单的基于GUI的点击,就像普通用户一样。

一半部分是用Eclipse Git插件完成的,第二部分(推到Github)是用Mac Github完成的

好而容易:)

所有这些都可以通过使用本地appp来完成,如果我开始学习它,我只需要他的推送function。

希望它会帮助一个mac用户一次。

我发现,如果我在github中设置了两步身份validation,那么Eclipse无法连接到Github–这很有意义,因为github中的两步身份validation要求您从SMSinput一个数字(并且Eclipse会“没有这个信息)。

如果这是你的情况,你可能会考虑在github中取消激活你的两步authentication,看看是否有帮助。

对于现有的ssh密钥,我认为这是Eclipse Juno 3.8中的一个错误。

我做了什么:

1)加载现有的密钥,方法是: 窗口>首选项>“searchssh”>密钥pipe理选项卡>加载现有密钥>select您已有的私钥

2)点击保存私钥保存该密钥。 我们把它命名为id_dsa_github

3)现在检查推拉是否正常工作。 它应该是。

4)现在在常规选项卡中,删除私钥id_dsa_github,并通过单击添加私钥添加您以前的私钥

现在你很好走。 我想,至less要花一次时间才能完成EGit的所有工作。

在你的GIT视图中,你有你的仓库,你会看到一个结构,如:

  • 分支机构
  • 标签
  • 引用
  • 遥控器
  • 等等…

点击遥控器,右键单击存储库中的URL,然后select“更改证书”。