繁体   English   中英

Git致命:远程端挂了

[英]Git fatal: remote end hung up

所以我以为我终于在Windows上安装了所有东西......然后遇到了这个问题。

当前设置

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

已经运行了Putty - 并且可以通过〜/ .ssh / authorized_keys直接使用有效的.ppk密钥进行连接。 在Git和TortoiseGIT中 - 我将两者都设置为使用“plink.exe”。

Putty工作正常 - 没有问题 - 但是当我将该URL运行到bash时,我得到了一个git clone(url)

致命的:远程端预计会挂断

在一个cygwin bash终端 - 运行“ssh user @ host” - 根本不工作。

有人建议吗?

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

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

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

我在windows下使用glink的glink也有同样的问题。

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

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

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

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

尝试以下步骤,也许某些事情会给你一个问题提示:
1.运行putty并在设置服务器名称/用户名/密钥等后保存这些设置。
2.运行plink.exe或plinkw.exe,如plink.exe user_name @ server ,(它会向您发送一些信息),看看plink是否可以连接到服务器。
3. 再次检查git知道它应该使用plink,我会说所有VCS,这是人们最常遇到的问题,除了他们的密钥没有正确设置。
通常到现在为止,你的大多数ssh问题都会被揭露出来。 现在只需修复它们。 :)

更新:

我认为你遇到的问题是由你安装的几个 gits引起的。 对于msysgit和cygwin git,您需要设置GIT_SSH变量。 这是通过'set GIT_SSH = c:\\ path \\ putty \\ plink.exe'或'export GIT_SSH = / your / path / putty / putty.exe'分别完成的。 如果你也在使用togise git,你需要在它的菜单中找到'properties'(或者它是设置?),然后在那里设置ssh客户端。
除此之外,在指定git clone 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

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

我有完全相同的问题。

我不使用Putty(只是Cygwin)。 我使用Windows 7旗舰版(此刻完全打补丁)。 我昨天刚刚安装了Cygwin。

我确保使用二进制坐骑。

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

我完全难过了。

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

另一个解决方案是使用putty / plink而不是openssh。

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

我收到消息:“远程结束,意外的EOF,索引包失败”,同时克隆git repo但能够解决这个问题与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

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

代替:

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

写:

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

注意双斜线!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM