所以我以为我终于在Windows上安装了所有东西......然后遇到了这个问题。
当前设置
网址: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” - 根本不工作。
有人建议吗?
答案 0 :(得分:16)
我发现每次都使用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。 [不起作用]
答案 1 :(得分:6)
我在windows下使用glink的plink时遇到了同样的问题。
在运行plink.exe -v xxx@host.com时,它开始显示 选美正在运行。请求密钥。 Pageant有1个SSH-2密钥 登录为:<<<麻烦
而不是 选美正在运行。请求密钥。 Pageant有1个SSH-2密钥 使用用户“xxx”要解决此问题,我清理了putty注册表记录和会话 putty.exe -cleanup
之后plink重新开始并要求再次信任并存储主机,它正在连接没有问题!
答案 2 :(得分:2)
尝试以下步骤,也许某些事情会给你提示你的问题:
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,则需要在其菜单中找到“属性”(或者是设置?),并在那里设置ssh客户端。
除此之外,在指定git clone URL时,请使用您的登录名和服务器名称,例如: 'git clone ssh://user@server/your/path/repo.git plink应该使用用户名和服务器名,并且当满足所有这些要求时,plink应该能够使用这些参数连接到服务器,你会全力以赴。
答案 3 :(得分:1)
如果您想尝试使用cygwin openssh 5.4p1-1,这似乎对此有用,与5.5或5.6不同,您可以使用cygwin time machine镜像。使用-X启动setup.exe并添加镜像URL,例如:
ftp://www.fruitbat.org/pub/cygwin/circa/2010/05/20/230133
小心不要从旧镜像安装太多(即基础包),而不是安装其余部分。
答案 4 :(得分:1)
我们遇到了同样的问题,这里是我们如何解决问题的解决方案:
起初我们得到了:
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
在波浪之后必须有斜线!
答案 5 :(得分:0)
我有完全相同的问题。
我不使用Putty(只是Cygwin)。 我使用Windows 7旗舰版(此刻完全打补丁)。 我昨天刚刚安装了Cygwin。
我确保正在使用二进制挂载。
如果我将git repo复制到机器上(通过samba mount),我可以克隆它,但是当我在克隆之后“git diff”时,有一堆“不同”的文件没有差异。在“git status”之后,没有“git diff”的输出。这似乎是一个新行,但我无法弄清楚会发生什么。 (我在SHELLOPTS中点燃了,但删除它并没有解决它。)
我完全被难倒了。
答案 6 :(得分:0)
检查您在CygWin中使用的openssh版本。版本5.5p1-1(这是当时的最新版本)给了我同样的错误。降级到5.4p1-1解决了问题。
另一个解决方案是使用putty / plink而不是openssh。
有关详细信息,请参阅此主题:http://www.mail-archive.com/cygwin@cygwin.com/msg103752.html
答案 7 :(得分:0)
我收到消息:“远程结束时,意外的EOF,索引包失败”,同时克隆git repo但能够解决这个问题与copssh http://sourceforge.net/projects/sereds/files/Copssh
根本原因是Cygwin openssh包。
我从Cygwin中删除了原始的openssh,安装了copssh并将GIT_SSH变量设置为指向copssh二进制文件。在此之后我只是在PATH中添加了copssh二进制文件,现在我使用的是copssh而不是openssh - 没有区别。
一切正常,问题不再出现。
另一种解决方案是使用mSysGit包。
答案 8 :(得分:0)
我认为真正的问题是cygwin的ssh在/home/name/.ssh中查找.ssh而mingw的git ssh在c:/ user / name <中寻找.ssh / EM> /。SSH
有可能你的钥匙只在其中一个目录中。
你可以尝试告诉cygwin的.ssh使用-i开关使用不同的身份文件,或者将密钥移动到两个目录中,或者在/ home / name /中创建一个ssh配置文件。 SSH /配置。
我创建了一个包含以下内容的配置:
Host github.com
User jerryasher
Hostname github.com
IdentityFile c:/Users/jerry/.ssh/id_rsa
鉴于我可以使用来自git bash的mingw git或来自rxvt的cygwin的git来与github进行交互。
答案 9 :(得分:0)
要解决此问题,请运行“plink -agent github.com” 提示缓存密钥时按y。以git身份登录。您将自动断开连接。它可以工作。
答案 10 :(得分:0)
尝试在URL中使用绝对路径进行回购,这对我有用。
而不是:
git ssh://user@host:port/myapp.git
写:
git ssh://user@host:port//home/user/repo/myapp.git
注意双斜线!