Git Push зависает после нескольких нажатий - PullRequest
5 голосов
/ 21 сентября 2011

Я запускаю 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 для git, как только я SSH подключен к другому серверу.Любые идеи, как это исправить?Меня убивает необходимость каждый раз перезагружаться.

Обновление:

Проблема исчезает, когда я удаляю следующие две строки (предназначенные для облегчения общего доступа к соединению) из ~ / .ssh / config

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

1 Ответ

2 голосов
/ 23 сентября 2011

Просто превращаю мое предположение из комментария в ответ ...

Последняя строка в выводе ssh -v:

debug1: auto-mux: Trying existing master

... сообщает, что SSH настроен на поиск существующего SSH-соединения для повторного использования. Я подозреваю, что это существующее соединение в конечном итоге застревает, что объясняет поведение, которое вы видите.

Эта возможность совместного использования соединения описана в ControlMaster разделе ssh_config(5) справочной страницы . По сути, «основной» сеанс SSH создает сокет в /tmp, к которому могут подключаться более поздние сеансы, вместо того, чтобы снова проходить этап аутентификации с потенциально длинной. Эта опция установлена ​​на auto, что означает, что этот сокет будет создан и использован автоматически.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...