几推之后,Git Push就会挂起

时间:2011-09-20 23:10:29

标签: git ssh github

我启动Ubuntu Linux,打开一个终端,编辑一些代码,并愉快地执行

git push origin master

然而,经过一段时间(有时30分钟,有时是几个小时),完全相同的命令将挂起(根本没有输出)。

当我尝试

ssh -v git@github.com

我收到以下回复:

OpenSSH_5.8p1 Debian-1ubuntu3, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /home/avitus/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: auto-mux: Trying existing master

然后又挂了。一旦我将SSH连接到另一台服务器,似乎我再也不能使用SSH来git了。任何想法如何解决这一问题?这让我不得不每次重启。

更新

当我从〜/ .ssh / config

删除以下两行(旨在促进连接共享)时,问题就消失了
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r

1 个答案:

答案 0 :(得分:2)

将我的评论从评论转变为答案......

ssh -v输出中的最后一行:

debug1: auto-mux: Trying existing master

...告诉您SSH已配置为查找现有的SSH连接以供重用。我怀疑这个现有的连接最终会以某种方式卡住,这可以解释你所看到的行为。

the ssh_config(5) man pageControlMaster部分介绍了此连接共享工具。本质上,“主”SSH会话在/tmp中创建一个套接字,以后的会话可以连接到该套接字,而不必再次通过可能长度的身份验证步骤。您将此选项设置为auto,这意味着将自动创建和使用此套接字。