103

我已经在 Eclipse Helios 上安装了 EGit 插件,我正在尝试将它与我的 GitHub 帐户一起使用,但是当我尝试配置它时,我收到“Auth Failed”错误。

我一直在谷歌搜索,但没有运气......这似乎是我的密码短语的问题,但 AFAIK EGit 正在寻找正确的位置(/home/user/.ssh/id_rsa),我在连接方式sshgit控制台客户端方面没有问题。

一些博客说这是 URI 和 Egit 解析器的问题,但我仍然没有找到解决方案。

4

23 回答 23

150

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

  1. 在您的 Eclipse 中,转到Window > Preferences > General > Network Connections > SSH2(或者只需在首选项窗口过滤器框中键入“SSH2”)。

  2. “密钥管理”选项卡中,按 “生成 RSA 密钥...”按钮。或者,您可以在密钥中添加注释(通常是电子邮件地址)和密码。密码短语将在 GitHub 上的身份验证期间使用。

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

而已!现在您应该能够将您的代码推送到 GitHub 存储库。

于 2011-05-11T13:33:44.693 回答
28

我遇到了完全相同的问题,但我从 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生效。

资料来源:

于 2011-10-02T23:32:14.263 回答
16

我通过选择http协议并提供我的 GitHub 用户名和密码来解决它。

于 2011-09-17T18:51:49.247 回答
10

After spending hours looking for the solution to this problem, I finally struck gold by making the changes mentioned on an Eclipse Forum.

Steps:

Prerequisites: mysysgit is installed with default configuration.

1.Create the file C:/Users/Username/.ssh/config (Replace "Username" with your Windows 7 user name. (e.g. C:/Users/John/.ssh/config)) and put this in it:

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

2.Try setting up the remote repository now in Eclipse.

Cheers. It should work perfectly.

于 2012-03-03T14:30:25.243 回答
8

您需要安装 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并将您的设置~/.sshSSH Home

之后转到Key Management tab加载现有密钥- 在此处设置您的私钥~/.ssh

之后,您可以将您的项目推送到 Github(但我设置了 ssh 协议,而不是 git+ssh)。

于 2010-11-15T14:24:32.237 回答
5

我通过将密钥添加到 ssh 解决了同样的问题;

ssh-add ~/.ssh/id_rsa 

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

于 2011-10-14T12:51:10.500 回答
4

对于使用 SSH 的 *nix 用户:

确保您在本地计算机上的帐户用户名与服务器上的帐户用户名没有不同。显然,eGit 似乎无法处理这个问题。例如,如果您在本地计算机上的用户名是“john”,而您在服务器上使用的帐户名为“git”,那么 egit 根本无法连接(无论如何对我来说)。我发现的唯一解决方法是确保本地计算机和服务器中的用户名相同。

于 2012-07-23T23:41:12.617 回答
3

在下面的链接中,我发布了对我有用的内容...

http://www.eclipse.org/forums/index.php?t=msg&goto=648905&S=9bcfa96ab726d744d41a19c7fb02d723#msg_648905

于 2011-01-15T10:38:57.300 回答
2

对于像我一样已经设置了 ssh-keys 但仍然出现错误的您:

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

前提是您已经:

  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:05:41.340 回答
2

我的第四条:我的 SSH 密钥是在 Cygwin 中设置的,位于 C:\cygwin\home\<user>.ssh,所以我将 SSH 指向此文件夹,而不是默认的 (Win7) C:\Users\<user>\ssh ,按照这些说明:http ://wiki.eclipse.org/EGit/User_Guide/Remote#Eclipse_SSH_Configuration

并使用了 ssh 协议,它工作正常。但是,尝试使用 git 协议仍然会给出“用户不支持 git 协议”。

于 2012-01-04T11:19:48.707 回答
1

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

于 2012-01-16T18:22:17.713 回答
1

您是否尝试在 git+ssh 上使用 ssh 协议?我遇到了同样的问题,并且解决了它,即使官方文档告诉使用 git+ssh

于 2010-11-27T00:36:39.150 回答
1

我用每晚构建更新了插件:http: //www.eclipse.org/egit/download/

通过更新,它对我有用。(Eclipse Helios,Mac OS X)

于 2010-09-22T16:07:48.173 回答
1

我通过选择https作为协议然后添加我的 github 用户名和密码来解决它

于 2014-03-02T21:01:09.577 回答
1

在您拥有存储库的 GIT 视图中,您将看到如下结构:

  • 分支机构
  • 标签
  • 参考
  • 遥控器
  • ETC...

单击遥控器,右键单击那里的存储库的 url,然后选择“更改凭据”。

于 2016-03-08T10:43:37.863 回答
0

我在Eclipse 论坛上找到了一个帖子,为我解决了这个问题。

于 2011-10-27T19:06:15.923 回答
0

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

我做了什么:

1)通过转到: 窗口>首选项>“搜索ssh”>密钥管理选项卡>加载现有密钥>选择您已经拥有的私钥来加载现有密钥

2)通过单击按钮保存该密钥Save Private Key。让我们将其命名为id_dsa_github

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

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

现在你可以走了。我猜,从 EGit 到register的所有事情至少要花一次时间。

于 2015-03-04T20:25:55.920 回答
0

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

我有一个用于移动开发的 mac,并且经常遇到这个问题。这个问题的根源是“平台无关”的解决方案,它对 mac 不够关心,他们无权访问钥匙串,证书存储在哪里,.pem 文件等等。

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

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

好,易于 :)

如果我开始学习它,一切都可以用那个原生 appp 完成,我只需要他的推送功能。

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

于 2013-09-14T09:38:42.017 回答
0

如果您有 PEM 文件:在 Eclipse 中,转到Window > Preferences > Network Connections > SSH2,然后将 PEM 文件的路径添加到“私钥”,这应该可以解决问题。

于 2013-04-26T23:25:52.160 回答
0

我发现如果我在 github 中设置了两步验证,Eclipse 将无法连接到 Github - 这是有道理的,因为 github 中的两步验证需要您从 SMS 中输入一个数字(而 Eclipse 不会没有此信息)。

如果这是您的情况,您可以考虑在 github 中取消激活您的两步验证,看看是否有帮助。

于 2013-10-16T20:07:39.343 回答
0

我遇到了同样的问题,似乎是配置问题。github mac osx 应用程序创建了一个名为 github_rsa 的 ssh 私钥

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

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

单击“添加私钥”并选择位于的 github_rsa/Users/<you username>/.ssh

于 2013-04-12T16:47:11.387 回答
0

我遇到了同样的问题。

我认为这与我的凭据和身份验证有关。

最后我意识到我配置的 URI 不是 HTTP 变体。

我试图通过 HTTP 配置推送到我的 Git 的 SSH URI。

检查您的网址

Git Perspective > Remotes > Origin > Configure Fetch > Change > 确保 prtocal 是 HTTPS 并且 URL 是 https 版本

于 2018-07-30T05:30:43.503 回答
0

我可以使用控制台来推/拉存储库,但在 Eclipse 中不行。就我而言,eclipse 似乎无法读取我的 SSH 私钥,我的密钥以:

-----BEGIN OPENSSH PRIVATE KEY-----

我注意到我同事的钥匙开头是:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED

我认为目前eclipse不能采用这种新的密钥(OPENSSH PRIVATE KEY)。

我通过以下方式解决了它:使用命令重新生成您的 ssh 密钥:

ssh-keygen -m PEM -t rsa -b 2048

这将使用旧方法来生成密钥:因此它将从标题开始:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED

查看更多信息:

https://github.com/duplicati/duplicati/issues/3360

然后您可以使用 Preferences -> Network connections -> SSH2 在 ecrilpse 中再次加载密钥,单击“添加私钥”(仍然选择您的私钥,即使您已经在私钥列表中看到了名称,因为 eclipse 必须重新加载它)

于 2018-12-04T16:02:51.817 回答