9

在 Eclipse 中,当我尝试从存储库导入项目时(文件 > 导入 > Maven > 从 SCM 签出 Maven 项目)我选择“git”(已安装 eGit),填写 ssh://... 地址(所有密钥和访问权限已设置),最后输入 rsa 的密码和...

Invalid remote: origin: Invalid remote: origin

据此:http: //youtrack.jetbrains.com/issue/IDEA-77239在地址末尾写.git应该可以解决问题,但实际上并没有。

我完全不知道如何进一步解决它。有任何想法吗?

编辑:我使用 Windows。这似乎是要添加的重要信息。

4

5 回答 5

11

当存在底层 SSH 身份验证问题时,可能会发生此错误,例如 git 远程服务器上的公钥错误,或者 git 远程服务器更改了其 SSH 主机密钥。

Eclipse 将使用您在 Preferences -> General -> Network Connections -> SSH2 中指定的 .ssh 目录进行 ssh 配置。将其设置为 "{您的默认用户目录}.ssh\" 。

要解决问题,首先您需要确定用于 Git 的 ssh 客户端。这存储在 GIT_SSH 环境变量中。右键单击“计算机”(Windows 7),然后选择属性 -> 高级系统设置 -> 环境变量。

如果 GIT_SSH 包含 plink.exe 的路径,则您正在使用 PuTTY 堆栈。

  • 要获取您的公钥,请打开 PuTTYgen.exe,然后加载您的私钥文件 (*.ppk)。列出的公钥应该与 git 远程服务器上的公钥匹配。
  • 要获取新的主机密钥,请打开一个新的 PuTTY.exe 会话,然后连接到 git@{git repo host}。
  • 单击确定并说是以存储新密钥。
  • 收到登录提示后,您可以关闭 PuTTY 窗口。新密钥已存储。
  • 重新启动 Eclipse。

如果 GIT_SSH 在“Git for Windows”树中包含“ssh.exe”的路径,则说明您正在使用 Git for Windows 的 OpenSSH。

  • 将 %HOME% 设置为您的默认用户目录(如 Eclipse 中所列;见上文)。
  • 将 %HOMEDRIVE% 设置为默认用户目录的驱动器号。
  • 将 %HOMEPATH% 设置为 %HOMEDRIVE% 上的默认用户目录的路径
  • 要获取您的公钥,请在文本编辑器中打开文件 %HOMEDRIVE%%HOMEPATH%/.ssh/id_rsa.pub(或 id_dsa.pub)。列出的公钥应该与 git 远程服务器上的公钥匹配。
  • 要获取新的主机密钥,请运行:cmd.exe
  • 运行 Git Bash
  • Ctrl-C
  • 在 bash 提示符下,运行 /c/path/to/git/for/windows/bin/ssh.exe git@{git remote host}。
  • 键入 yes 以接受新密钥。
  • 出现登录提示后,键入: ctrl-c
  • 关闭 cmd.exe 窗口
  • 重新启动 Eclipse。

最后,如果您的外部 ssh 客户端仍有问题,请删除 GIT_SSH 环境变量并将 HOME 环境变量设置为 Windows 上的默认用户目录。如果没有 GIT_SSH 变量,EGit 将使用其内部 ssh 客户端 (java)。它将使用您在上面指定的 .ssh 目录作为其 SSH 配置目录。

注意:如果你有 Git for Windows,你可以使用它的工具在你的 .ssh 目录中创建一个 SSH 密钥对:

  • 将 %HOME% 设置为您的默认用户目录(如 Eclipse 中所列)。
  • 将 %HOMEDRIVE% 设置为默认用户目录的驱动器号。
  • 将 %HOMEPATH% 设置为 %HOMEDRIVE% 上的默认用户目录的路径
  • 运行 Git Bash
  • Ctrl-C
  • 运行:ssh-keygen.exe -t rsa -b 2048
  • 保存为默认文件名
  • 选择一个密码或不保存密码。如果您使用密码进行保存,Eclipse 会在您每次从 git 远程服务器推送或拉取时提示您输入密码。
  • 关闭 Git Bash

您还可以使用 Eclipse 的 SSH2 Preference 窗格中的 GUI 来管理主机和密钥。

于 2013-04-12T14:21:19.357 回答
1

使用 Eclipse / Indigo,带有 Maven 插件: -Check
out Maven Projects from SCM
-假设安装了 git SCM 插件,从 SCM URL 中选择“git”:弹出
-enter,例如 https://@github.com //.git
有 @ 和 ".git" 很重要
- 假设项目是私有的,系统会提示您输入密码
这应该足以继续前进。

于 2012-09-22T05:38:27.577 回答
1

可能是您的 git 服务器已移动?

在此处输入图像描述

于 2018-03-21T05:48:35.493 回答
0

检查您的 .git/config 这个错误可能是您在原始网址末尾缺少“.git”

[远程“来源”] url = https://some.domain.com/repo/name

应该

[远程“来源”] url = https://some.domain.com/repo/name.git

于 2014-08-17T16:30:53.687 回答
0

由于以下原因,可能会发生此错误 -

  1. 检查存储库 url,最后应该有一个 '.git' 附加。
  2. 如果您的网络配置已更改,请确保您具有正确的代理配置,并且在安全的 git 存储库的情况下,请确保您提供正确的凭据。(当我的凭据被更改时,我得到了这个错误,而且当我配置了不正确的代理时。)

PS - 要检查网络设置,请转到 Windows -> 首选项 -> 常规 -> 网络连接。此外,如果您不确定网络设置或代理配置,您可以尝试在直接和手动网络设置之间切换。

于 2020-03-25T08:16:36.043 回答