Git远程端意外挂断

时间:2012-05-04 03:38:09

标签: windows git ssh

当我尝试从我的Windows计算机上推送时,我正试图在我的测试服务器上设置一个git repo

git push ssh://git@server.com:/path/.git

我收到错误

fatal: The remote end hung up unexpectedly

但是,当我进入我的服务器并尝试执行完全相同的命令时,它工作得很好。这是我的git设置或我的Windows安装程序的问题

2 个答案:

答案 0 :(得分:4)

问题可能是由许多问题引起的:

  • Git安装在服务器上的一些奇怪的地方,“git”用户以交互方式登录时获取的环境(您通过PuTTY或其他方式手动执行此操作)与环境不同它以非交互方式登录时获取(git客户端为您执行此操作)。这是因为在这些情况下,Unix shell会读取不同的启动文件,当git使用SSH生成远程git实例时,它仍会生成服务器上的默认(对于用户)shell。
  • 你有一个本地问题(比如说,你配置Git使用plink.exe来访问服务器,它要求你输入“y”或“n”来接受主机的密钥(你不能做)。

无论如何,请尝试以下步骤:

  1. 运行plink.exe git@server.com "git --version"并看到它能够在服务器上运行Git。如果您不使用plink.exe,请使用Git for Windows附带的OpenSSH附带的任何二进制文件;可能是ssh.exe
  2. 在运行GIT_TRACE=1之前导出git push并查看是否打印出任何暗示出错的内容,如下所示:

    C:\foo>GIT_TRACE=1
    C:\foo>git push ssh://git@server.com:/path/.git
    

答案 1 :(得分:0)

我怀疑问题是用户'git'没有对远程存储库的写访问权限,并且您可能使用自己的用户名(cemurray或其他类似用户)手动连接。