Egit ssh问题

时间:2012-04-21 21:47:05

标签: eclipse git github egit

我一直试图让gitHub和Egit合作,但没有成功。我安装了github的软件包并以这种方式制作了一个SSH密钥,但Egit没有提示密码,它给了我这个错误:

Cannot get remote repository refs.
Reason: ssh://git@github.com:22: passphrase for C:\Documents and Settings\User\.ssh\id_rsa

我在推送菜单中有这些设置:

URI: ssh://git@github.com/YoungMaker/<projectName>.git
host: github.com
Repository path: /YoungMaker/<projectName>.git
protocol: SSH
port <BLANK>
User: git
password <blank>

我还尝试了GIT_SSH环境变量,并将其设置为C:\ Documents and Settings \ User.ssh,以及plink.exe(我不知道那是什么(显然是一些.exe))

尝试从gitHub GUI推送后,我收到了此错误。它很奇怪,因为我有一个C:\ Documents and Settings \ User.ssh目录,里面有一个配置文件和一个id_rsa密钥。

Pushing to git@github.com:YoungMaker/GitTester.git
error: cannot spawn C:\Documents and Settings\User\.ssh: No such file or directory
fatal: unable to fork

2 个答案:

答案 0 :(得分:6)

旧问题,但供将来参考:

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

如果你已经:

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

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

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

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

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

答案 1 :(得分:2)

如果您创建了受其保护的私钥,则需要使用密码,如“GitHub: SSH key passphrase”中所述。
但这意味着您需要一个SSH代理来为您提供密码。

如果Egit在推送时没有提示,那可能意味着:

  • 您的SSH密钥未受密码保护
  • 您的SSH密钥无法以某种方式访问​​(错误的路径或该路径上的错误保护)

另见Vogella's tutorial

Egit ssh uri