导入Eclipse时出现"无效的远程:来源"错误(m2eclipse,eGit)

ale*_*lex 8 eclipse git m2eclipse egit

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

Invalid remote: origin: Invalid remote: origin
Run Code Online (Sandbox Code Playgroud)

根据这个:http:http://youtrack.jetbrains.com/issue/IDEA-77239.git在地址的末尾应该解决问题但实际上它没有.

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

编辑:我使用Windows.这似乎是一个重要的信息.

Ada*_*eck 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配置目录.

注意:如果您有适用于Windows的Git,您可以使用其工具为.ssh目录创建SSH密钥对:

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

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