GitHub вечно пушит / тянет на Ubuntu 11.04 - PullRequest
3 голосов
/ 02 августа 2011

Я установил git на Ubuntu 11.04 и клонировал частный репозиторий на GitHub.Всякий раз, когда я пытаюсь нажать или вытащить в / из хранилища, это занимает около 30-60 секунд.Даже если их нет в репозитории.При использовании одного и того же хранилища в Windows 7 запросы на извлечение / отправку занимают всего несколько секунд.Я не могу понять, что не так.

Я запустил ssh -v git@github.com, и он зависает сразу после этой строки:

debug1: SSH2_MSG_SERVICE_ACCEPT received

Приведенная выше строка займет30-60 секунд, чтобы закончить, а затем оставшиеся строки заканчиваются в течение секунды.Вот полный вывод ssh -vvv git@github.com: http://pastebin.com/LdY0EifW

Я уже пытался изменить "GSSAPIAuthentication" на "no" и "UseDNS" на "no" в / etc / ssh/ ssh_config.Это не имело никакого значения.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 13 ноября 2011

У меня была похожая проблема, хотя со всем интернетом, а не только с push / pull git.Проблема заключалась в том, что для многих людей решения одной и той же проблемы были связаны с IPv6 или драйвером:

. Попробуйте следующее:

  • Отключите IPv6.См. здесь <--- Примечание, делайте это только в том случае, если вы знаете, что не будете использовать IPv6.Также запомните это, так что если вам понадобится позже, вы можете включить его. *</li>
  • Черный список вашего драйвера.Следуйте этому вопросу для получения дополнительных инструкций.

Для меня вторым случаем было решение.

* Я не уверен, что они поставляли с Ubuntu 11.04, но, похоже, что-то не так с поиском DNS, когда сеть находится в IPv4, но IPv6 включен, что требует много времени.

0 голосов
/ 02 августа 2011

Похоже, что в системе заканчивается энтропия.

SSH, как и любому другому криптографическому приложению, нужны действительно случайные числа, чтобы обеспечить безопасность. Ядро Linux обычно собирает некоторую случайность (энтропию) из точного времени различных событий и делает его доступным через /dev/random, который ssh ​​читает, когда ему нужно создать ключи сеанса. На настольных компьютерах обычно достаточно собранной энтропии, но если есть какое-то другое приложение, которое нуждается в этом, у вас может быть мало времени, и чем чтение /dev/random займет много времени, потому что оно ожидает сбора энтропии достаточно.

=> проверьте, запустив strace ssh git@github.com, действительно ли он ожидает чтения из `/ dev / random. Если да, у вас есть эта проблема.

Если это сервер, на котором размещены потенциально конфиденциальные данные, вам, вероятно, следует оборудовать его аппаратным генератором случайных чисел (например, «ключом энтропии»). Вы также можете попытаться изменить настройки генератора случайных чисел на менее безопасные (я полагаю, что некоторые параметры можно задать через / proc), но только если на сервере не размещаются данные клиентов или какие-либо конфиденциальные данные компании.

Редактировать: это больше похоже на проблему сети где-то.

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