2010-09-20 88 views
1

”远端意外挂断“我正在计算如何让Eclipse(Windows 7)对我们刚刚装上的git-migrated CVS存储库进行操作在Ubuntu 10.04.1 LTS主机上的gitosis中。所有软件都安装apt-get(git,gitosis等)。Cygwin“git clone”给Ubuntu“10.04.1

eclipse与egit挂起时试图检出,所以我正在玩命令行客户端。 Cygwin有git和openssh,所以我希望至少能够工作(然后我们可以在本地副本中使用Eclipse)。为了只做babysteps,我克隆了另一个具有更多磁盘空间的Ubuntu主机上的gitosis存储库,并尝试在我的Windows机器上克隆它。

我得到它让我为难,颇有几分以下错误信息:

[email protected] /cygdrive/c/Users/tra/git 
$ git clone [email protected]:/home/ravn/cvs2git/git00 
Cloning into git00... 
Enter passphrase for key '/home/tra/.ssh/id_rsa': 
remote: Counting objects: 64045, done. 
remote: Compressing objects: 100% (17965/17965), done. 
fatal: The remote end hung up unexpectedly.98 MiB | 8.21 MiB/s 
fatal: early EOFs: 98% (62852/64045), 310.98 MiB | 8.21 MiB/s 
fatal: index-pack failed 

Git是1.7.0.4在Ubuntu中,并在Cygwin的1.7.2.3。 scp和sftp很好地工作。

是否有一些巫毒伎俩,我需要知道,使这项工作?

+0

今天有点调查表明,由于某种原因egit 0.9挂在我们的仓库上,但0.10例如没有。因此我已经开始研究egit了。 – 2011-02-03 18:16:27

+1

这个问题在cygwin上是明确的ssh,我认为它与时间有关。在这里它总是发生在虚拟机中,而不是在独立的Windows环境中。这也与名称解析有关。当您在c:/ Windows/System32/drivers/etc/hosts中输入IP地址时,它可以正常工作。 – Slesa 2012-01-08 09:12:08

回答

1
  • 首先,你应该发布公共SSH密钥来10.49.160.91:/home/ravn/.ssh/authorized_keys文件,以便不必再输入你的密码。

  • 其次,这种错误通常发生在interop环境中,文件名称相同但大小写不同。
    你可以检查一下你是否有这样的问题。

确保也:

作为替代(如OP托尔比约恩发现),尝试从msysgit version git的结帐,基于MinGW的(而不是用包装的混帐cygwin)

+0

谢谢。现在,我将与authorized_keys一起生活,因为它告诉我钥匙被另一端识别。事实证明,msysgit中的git可以检出这些文件,因此我现在将使用它,然后再回到cygwin。 – 2010-09-20 12:14:09

+1

@Thorbjørn:好点。我在我的答案中添加了您的建议(使用msysgit而不是cygwin git)。 – VonC 2010-09-20 12:19:06

1

我想我遇到了同样的问题。对我来说,解决它的方法是将Cygwin Git与PuTTY一起用于ssh,而不是Cygwin的ssh。

我尝试了腻子的解决方法,因为在这个Cygwin的邮件列表线程信息:

这Cygwin的邮件线程似乎也指向为Git版本1.7.1中的Cygwin/OpenSSL的/ Git的一些问题(我对Git的1.7.3.3,所以这个问题可能跨越几个版本):

如果你已经有了一个可用的Cygwin Git + Cygwin ssh配置,你可能不需要从头开始。什么对我来说是

  1. 从PuTTY网站下载puttygen.exe,plink.exe,pageant.exe和putty.exe。
  2. 运行puttygen.exe将您现有的Cygwin .ssh私钥转换为PuTTY .ppk私钥,然后将其保存在某处。
  3. 运行pageant.exe,加载PuTTY私钥并授权。
  4. 接下来,运行putty.exe要ssh到你想从Git的访问的主机,这样你就可以在主机保存到列表知道在Windows注册表中
  5. 最后,你需要的Git配置使用ssh主机PuTTY代替Cygwin ssh。为此,请将环境变量GIT_SSH设置为指向plink.exe可执行文件。例如,export GIT_SSH=/cygdrive/c/somedirectory/plink.exe

HTH

0

你是如何建立你的钥匙?

你是否像使用shell一样从cygwin使用cygwin,或者你是否使用了像git bash一样的gingw git?

我认为,真正的问题是Cygwin的SSH查找/的.ssh在/ home /.ssh和MinGW的混帐SSH查找的.ssh在C:/用户/ /.ssh

您的密钥可能位于这些目录中的一个并且是唯一一个。

你可以试着告诉Cygwin的的.ssh使用不同的身份文件中使用-i选项,或者键移动到这两个目录,也可以创建在/ home /一个ssh配置文件 /.ssh/config。

我创建了一个包含一个配置:

Host github.com 
    User jerryasher 
    Hostname github.com 
    IdentityFile c:/Users/jerry/.ssh/id_rsa 

的,而且是我可以使用从混帐bash或Cygwin的混帐MinGW的混帐从rxvt的与GitHub的互动。