Git致命:远端挂断

所以我想我终于把所有的东西都安装在了Windows上……然后遇到了这个问题。

当前设置

URL:ssh:// user @ host:port / myapp.git

已经运行Putty – 并且可以通过〜/ .ssh / authorized_keys直接使用有效的.ppk键来连接。 在Git和TortoiseGIT中 – 我同时使用“plink.exe”。

腻子工作正常 – 没有问题 – 但当我运行该url进入bash我得到一个混帐克隆(url)

致命的:远端挂断了

在一个cygwin bashterminal – 运行“ssh user @ host” – 根本不起作用。

任何人都build议什么

我发现每次都使用Git包中的ssh.exe,而不是使用cygwin自带的ssh(默认)。 使用这个导出的变量似乎有帮助; 它比较慢(2倍或更多),但更稳定。 把它作为另一个解决方法。

$ export GIT_SSH = / cygdrive / c / Program \ Files / Git / bin / ssh.exe

FYI:这个版本的Msysgit附带了OpenSSH 4.6p1,OpenSSL 0.9.8e。 [作品] Cygwin的SSH是OpenSSH 5.5p1,OpenSSL 0.9.8n。 [不起作用]

我在Windows下与git有相同的问题。

运行plink.exe -v xxx@host.com时,它开始显示Pageant正在运行。 请求密钥。 Pageant有1个SSH-2密钥登录为:<<<麻烦

正在运行。 请求密钥。 Pageant有1个SSH-2密钥使用用户“xxx”

为了解决这个问题,我通过putty.exe -cleanup清理了putty注册表记录和会话

之后,plink重新开始,并要求再次信任和存储主机,并没有问题的连接!

尝试下面的步骤,也许会给你一个提示你的问题:
1.运行腻子,并设置服务器名称/用户名/密钥等后保存这些设置。
2.运行plink.exe或plinkw.exe,比如plink.exe user_name @ server ,(它会向你发送一些信息),看看plink是否可以连接到服务器。
3. 再次检查git知道它应该使用plink,我会说所有的VCSs,这是人们经常遇到的问题,除了他们的钥匙没有正确设置。
通常现在你的大部分ssh问题都会被揭示出来。 现在就解决它们。 🙂

更新:

我认为你所遇到的问题是由你已经安装的几个 gits造成的。 对于msysgit和cygwin git,你需要设置GIT_SSH变量。 这是通过“设置GIT_SSH = c:\ path \ putty \ plink.exe”或者“export GIT_SSH = / your / path / putty / putty.exe”来完成的。 如果你还在使用toolkit,你需要在菜单中找到“属性”(或者是设置?),然后在那里设置ssh客户端。
除此之外,当指定git克隆URL时,请使用您的登录名和服务器名称,例如'git clone ssh://user@server/your/path/repo.git用户和服务器名称应该由plink使用,并且plink应该能够通过这些参数连接到服务器,当满足所有这些要求时,您将全部设置。

祝你好运。

如果你想尝试cygwin openssh 5.4p1-1,它似乎可以工作,不像5.5或5.6,你可以使用cygwin时间机器镜像。 用-X启动setup.exe并添加一个镜像Url,例如:

ftp://www.fruitbat.org/pub/cygwin/circa/2010/05/20/230133 

小心不要安装太多,即基本包,从一个较旧的镜子比其余的安装。

我们有同样的问题,这里是解决问题的方法:

起初我们得到了:

 zajdan@cyberFuture:~$ git clone ssh://nette@19X.16X.14X.7X/~repos/erotika.git/ erotika Initialized empty Git repository in /home/zajdan/erotika/.git/ Password: fatal: '/repos/erotika.git': unable to chdir or not a git archive fatal: The remote end hung up unexpectedly zajdan@cyberFuture:~$ 

解:

 zajdan@cyberFuture:~$ git clone ssh://nette@19X.16X.14X.7X/~/repos/erotika.git/ erotika 

在波浪之后,必须有一个斜线

我有完全相同的问题。

我不使用腻子(只是Cygwin)。 我使用的Windows 7旗舰版(完全修补截至这一刻)。 我刚刚安装了Cygwin。

我确信二进制坐骑正在使用。

如果我复制一个git repo到机器上(通过samba mount),我可以克隆它,但是当我在克隆之后“git diff”时,会有一堆没有差异的“不同”文件。 在“git状态”之后,“git diff”没有输出。 这似乎是一个换行的东西,但我无法弄清楚会发生什么。 (我在SHELLOPTS中忽略了,但删除不能解决它。)

我完全难倒了。

检查您在CygWin中使用的openssh版本。 版本5.5p1-1(这是目前最新的版本)给了我同样的错误。 降级到5.4p1-1解决了这个问题。

另一个解决方案是使用putty / plink代替openssh。

有关更多详细信息,请参阅此主题: http : //www.mail-archive.com/cygwin@cygwin.com/msg103752.html

我得到的消息:“远端gung-up,意外的EOFs,索引包失败”,而克隆git回购,但能够解决这个问题与copssh http://sourceforge.net/projects/sereds/files/Copssh

根本原因是Cygwin openssh包。

我从Cygwin中删除了原来的openssh,安装了copssh,并将GIT_SSH变量设置为指向copssh二进制文件。 在这之后,我只是在PATH中添加了copssh二进制文件,现在我正在使用copssh而不是openssh – 没有区别。

一切工作正常,问题不再出现。

另一个解决方案是使用mSysGit包。

我相信真正的问题是cygwin的ssh在/ home / name /.ssh中查找.ssh,mingw的git ssh在c:/ user / name /.ssh中查找.ssh

机会是你的钥匙是在这些目录中的一个,只有一个。

您可以尝试告诉cygwin的.ssh使用-i开关使用不同的身份文件,或将密钥移到两个目录中,或者在/ home / name /.ssh/config中创建一个ssh配置文件。

我创建了一个配置,其中包含:

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

考虑到我可以使用git bash中的mingw git或者rxvt中的cygwin的git来与github进行交互。

要解决此问题,请运行“plink -agent github.com”。当提示缓存密钥时,请按y。 以git身份登录。 你会自动断开连接。 它可以工作。

资料来源: http : //devlicio.us/blogs/sergio_pereira/archive/2009/05/06/git-ssh-putty-github-unfuddle-the-kitchen-sink.aspx

尝试在网址中使用绝对路径来回购,这对我有效。

代替:

 git ssh://user@host:port/myapp.git 

写:

 git ssh://user@host:port//home/user/repo/myapp.git 

注意双斜线!