Я находится под прокси-сервером, и я довольно долго вдаваюсь в git.
Теперь я не могу вдаваться в git внезапно.
Я установил ключ RSA, а прокси и дважды проверили их, безрезультатно, и git выбрасывает мне ошибку, показанную в заголовке страницы.
Ssh: подключиться к хосту github.com порт 22: время ожидания подключения
Ответ 1
Причиной может быть изменение брандмауэра, поскольку вы находитесь в сети. (В этом случае они могут намеренно блокировать некоторые порты)
Чтобы проверить, является ли это причиной... do
ssh -T [email protected]
это должно время ожидания.
Если этот случай использует протокол http вместо ssh таким образом
просто измените свой url в файле конфигурации на http.
Вот как: -
git config --local -e
изменить запись
url = [email protected]:username/repo.git
to
url = https://github.com/username/repo.git
Ответ 2
В моем случае ни одно из предложенных решений не сработало, поэтому я попытался исправить это сам и получил решение.
Для меня я получаю эту ошибку на своем экземпляре AWS EC2 UBUNTU, что я сделал, чтобы решить ее, чтобы отредактировать конфигурацию git (или добавить ее, если она не существует).
sudo nano ~/.ssh/config
И я добавил следующее
Host github.com
Hostname ssh.github.com
Port 443
Затем выполните команду ssh -T [email protected]
чтобы подтвердить, ssh -T [email protected]
ли проблема.
Согласно этому
Иногда брандмауэры отказываются разрешить SSH-соединения полностью. Если использование клонирования HTTPS с кэшированием учетных данных невозможно, вы можете попытаться клонировать, используя соединение SSH, установленное через порт HTTPS. Большинство правил брандмауэра должны позволять это, но прокси-серверы могут мешать
Надеюсь, это поможет всем, у кого возникла такая же проблема, как у меня.
Ответ 3
Основная переадресация URL-адресов
Git предоставляет способ перезаписи URL-адресов с помощью git config. Просто выполните следующую команду:
git config --global url."https://".insteadOf git://
Теперь, как по волшебству, все команды git будут выполнять замену git://
на https://
Источник: git://протокол заблокирован компанией, как я могу обойти это?
Ответ 4
внутри папки .ssh Создайте файл "config"
Host github.com
User git
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Ответ 5
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/config. Добавьте что-то вроде следующего:
Host example.com
Port 1234
Ответ 6
У меня была такая же проблема, но ответ, который я нашел, был другим, подумал, что кто-то может столкнуться с этой проблемой, так что вот мое решение.
Мне пришлось переименовывать 2 IP-адреса для порта 22
, 80
, 443
и 9418
:
-
192.30.252.0/22
-
185.199.108.0/22
Если эти IP-адреса не работают, возможно, потому, что они обновлены, вы можете найти самые последние на этой странице.
Ответ 7
Быстрый обходной путь: попробуйте переключиться на другую сеть
Я столкнулся с этой проблемой, находясь в точке доступа (соединение 3/4G). Переключение на другое соединение (WiFi) решило его, но это всего лишь обходной путь - у меня не было возможности докопаться до сути проблемы, поэтому другие ответы могут быть более интересными для определения основной проблемы
Ответ 8
Ответ выше дал мне информацию, необходимую для решения этой проблемы. В моем случае URL неправильно начинался с ssh:///
Чтобы проверить правильность URL в вашем git config, откройте файл git config: -
git config --local -e
Проверьте запись в URL. Он не должен иметь ssh:///в начале.
Неверная запись:
url = ssh:///[email protected]:username/repo.git
Правильная запись:
url = [email protected]:username/repo.git
Если ваш URL-адрес правильный, то следующим шагом будет попытка найти ответ выше, который предлагает изменить протокол на http.
Ответ 9
Когда я случайно переключился на гостевую сеть Wi-Fi, я получил эту ошибку. Пришлось переключиться обратно на мою сеть Wi-Fi по умолчанию.
Ответ 10
Я столкнулся с той же проблемой и не мог найти рабочее решение. Я столкнулся с этой проблемой при настройке локального сервера, и git не смог подключиться через мою прокси-сеть, но моя рабочая станция могла. Это был вывод, когда я запустил команду ssh -vT [email protected]
[email protected]:~$ ssh -vT [email protected]
OpenSSH_7.2p2 Ubuntu-4ubuntu2.8, OpenSSL 1.0.2g 1 Mar 2016
debug1: Reading configuration data /home/ubuntu/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to github.com [13.234.176.102] port 22.
Поэтому я попытался использовать соединение SSH через порт HTTPS, отредактировав файл конфигурации ~/.ssh/config
но безрезультатно.
Host github.com
Hostname ssh.github.com
Port 443
Наконец, я нашел эту статью, которая решила и раскрыла реальную проблему.
# github.com
Host github.com
Hostname ssh.github.com
ProxyCommand nc -X connect -x <PROXY-HOST>:<PORT> %h %p
Port 443
ServerAliveInterval 20
User git
Это мой конфигурационный файл, и теперь git отлично работает через ssh!