2013-03-23 3 views
56

Я под прокси-сервером, и я довольно долго вживаюсь в git.
Теперь я не могу вдаваться в git внезапно.
Я установил ключ RSA, а прокси и дважды проверили их, безрезультатно, и git выбрасывает мне ошибку, показанную в заголовке страницы.ssh: подключиться к хосту github.com порт 22: время ожидания подключения

+0

Создайте точку доступа на мобильном устройстве, подключитесь к мобильному устройству, затем нажмите «git push». Работал для меня. – zundi

ответ

113

Причиной может быть изменение брандмауэра, как вы находитесь в сети. (В этом случае они могут сознательно блокировать некоторые порты)
Чтобы проверить дважды, если это причина ... сделать

ssh -T [email protected] 

это должно время ожидания. Если это так, используйте протокол http вместо ssh таким образом
просто измените свой URL-адрес в файле конфигурации на http.
Вот как: -

git config --local -e 

запись изменения

url = [email protected]:username/repo.git 

в

url = https://github.com/username/repo.git 
+1

Фактический формат URI HTTPS repo: 'https: // github.com/username/repo.git' not' https: // pboone @ github.com/имя пользователя/repo.git' – lantrix

+0

@lantrix true that! –

+2

У меня был этот вопрос один раз, но перезагрузка моего компьютера решила его. –

26

Базовый URL Переписывая

Git предоставляет возможность переписывать URL-адреса с помощью Git конфигурации. Просто выполните следующую команду:

git config --global url."https://".insteadOf git:// 

Теперь, как по мановению волшебной палочки, все команды Git будет выполнять замену git:// на https://

источник: git:// protocol blocked by company, how can I get around that?

+0

Спасибо! Ours был во время сборки Jenkins, поэтому я не мог вручную редактировать git-файл (у меня нет учетных данных git для учетной записи jenkins), поэтому это было очень полезно. – Phil

+0

Это замечательно. Я добавил git aliases для каждого, чтобы легко переключать – lfender6445

+3

Что касается github, команда должна быть: 'git config --global url." Https://github.com/ ".insteadOf [email protected]:'. Обратите внимание на различия: '@' становится '//' и ':' становится '/'. – Frodon

2

Execute:

nc -v -z <git-repository> <port> 

Ваш выход должен выглядеть е:

"Connection to <git-repository> <port> port [tcp/*] succeeded!" 

Если вы получаете:

connect to <git-repository> <port> (tcp) failed: Connection timed out 

Вам нужно отредактировать файл ~/.ssh/конфигурации. Добавить что-то вроде следующего:

Host example.com 
Port 1234 
0

У меня был тот же самый вопрос, но ответ я нашел другой, думал кто-то наткнулся на эту проблему, так вот мое решение.

Я имел белый список 2 IP-адресов для порта 22, 80, 443 и 9418:

  • 192.30.252.0/22

  • 185.199.108.0/22

В случае, если эти IP не работают , возможно, потому, что они обновились, вы можете найти наиболее арендовать на this page.

Смежные вопросы