Git Push cuelga después de unos pocos empujones

Arranco Ubuntu Linux, abro un terminal, edito un código, y felizmente ejecuto

git push origin master 

Sin embargo, después de un período de time (a veces 30 minutos, a veces algunas horas), el mismo command se bloqueará (sin salida).

Cuando bash

 ssh -v git@github.com 

Recibo la siguiente respuesta:

 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 

Y luego se cuelga de nuevo. Parece que ya no puedo usar SSH para hacer git una vez que tengo SSH en otro server. Alguna idea de cómo solucionar este problema? Me está matando tener que reiniciar cada vez.

Actualizar:

El problema desaparece cuando elimino las siguientes dos líneas (destinadas a facilitar el intercambio de conexiones) desde ~ / .ssh / config

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

Simplemente convirtiendo mi suposition de un comentario en una respuesta …

La última línea en la salida de ssh -v :

 debug1: auto-mux: Trying existing master 

… le dice que SSH se ha configurado para search una connection SSH existente para reutilizar. Sospecho que esta connection existente eventualmente se atasca de alguna manera, lo que explicaría el comportamiento que estás viendo.

Esta function de compartir connection se describe en la sección ControlMaster de la página de ssh_config(5) man ssh_config(5) . Esencialmente, la session SSH "maestra" crea un socket en /tmp cual las sesiones posteriores pueden conectarse en lugar de tener que pasar de nuevo por el paso de autentificación de longitud potencialmente. Tiene esta opción establecida en auto , lo que significa que este socket se creará y usará automáticamente.