2011-09-20 10 views
5
git push origin master 
git push origin master 
git push origin master 
git push origin master 
git push origin master 

いくつかのプッシュ後にGitのプッシュがハングアップ

しかし、ある時間(時には30分、時には数時間)後、まったく同じコマンドがハングアップします。全く出力がありません)。

ssh -v [email protected] 

次の応答が表示されます。

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を使用できなくなったようです。任意のアイデアをどのようにこれを修正するには?毎回再起動する必要があります。

アップデート:

〜/ .ssh/configから次の2行を削除すると問題が解消します。(接続共有を容易にするため)

ControlMaster auto 
ControlPath /tmp/ssh_mux_%h_%p_%r 
+0

GitHubへの別のSSH接続を制御マスターとして設定しましたか? (これは既存の接続を共有するための仕組みです)そのデバッグメッセージは、既存のSSHコントロールマスターが見つかったので表示されます –

+0

Mark - 私は問題があなたの言いたようなものだと思います。再び。私はこのマシンでGitに接続するユーザーは1人しかいません。 – Andy

+0

すごく、あなたはそれが働いていると聞いてうれしいです。私はこれらの行に沿って答えを追加しました。 –

答えて

2

から(共有の接続を容易にするためのもの)は、次の2行を削除すると

問題はちょうどコメントから私の推測を回し消えます

:答え... ssh -vの出力で

最後の行に

...は、SSHが既存のSSH接続を探して再利用するように設定されていることを示しています。私は、この既存の接続が最終的に何らかの形で詰まって、あなたが見ている動作を説明するものと思われます。

この接続共有機能は、セクションのthe ssh_config(5) man pageに記載されています。基本的に、「マスター」SSHセッションは、/tmpにソケットを作成します。ソケットは、潜在的な長さの認証ステップを再度実行する代わりに、後でセッションに接続できます。このオプションはautoに設定されています。つまり、このソケットは自動的に作成され、使用されます。

関連する問題