Не удается подключиться по SSH к github.com после смены статического IP-адреса

Я давно пользуюсь github.com, но только что мой интернет-провайдер переключил мой домашний интернет на статический IP-адрес, и теперь я не могу использовать SSH. на гитхаб.

Что происходит с SSH?

Ключ id _ed25519 был только что заново -сгенерирован. SSH просто останавливается:

$ ssh -T -F ~/.ssh/config git@github.com -vvv

OpenSSH_8.1p1, LibreSSL 2.7.3
debug1: Reading configuration data /Users/xxxx/.ssh/config
debug1: /Users/xxx/.ssh/config line 1: Applying options for *
debug1: Connecting to github.com port 22.

Wireshark показывает, что вообще не получает обратных пакетов:

снимок экрана моего wireshark, показывающий повторные передачи TCP

Так может SSH запрещен?

Возможно! Но я могу подключиться к экземплярам AWS EC2 по ssh из той же командной строки. Никаких проблем.

Что еще я пробовал?

Я могу использовать SSH через HTTPS. Например, это...

ssh -T -p 443 git@ssh.github.com

...работает нормально, и я могу подключиться. Но мне нужно знать, ПОЧЕМУ старый простой порт 22 больше не работает для меня.

Что изменилось?

Я попросил своего интернет-провайдера назначить мне статический IP-адрес. Они сделали это. Это сработало. Соединения с устройств в моей сети, похоже, исходят от этого нового статического IP-адреса, который они назначили.

Содержимое конфигурации ssh

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519

И в качестве дополнительного бонуса,

$ git config --list
credential.helper=osxkeychain
user.name=xxxx
user.email=xxx.xxx@xxx.com
core.autocrlf=input
2
задан 11 September 2021 в 03:26
1 ответ

Используйте tcp traceroute

Следуя совету Теро Килканена, я установил tcptraceroute, что помогло решить проблему. Редактировать:Я хотел добавить, что не использовал traceroute, потому что знал, что он использует протокол ICMP и не обязательно будет маршрутизироваться так же, как мои пакеты TCP SSH. Так что tcptracerouteбыл для меня новым, и я думаю, что он будет очень полезен!

1). Установите tcptraceroute

Это на Mac, поэтому я использовал homebrew для установки предложенной формулы :Formulae.brew.sh/formula/tcptraceroute:

$ brew install tcptraceroute

2 ). Запуск tcptracoute

$ sudo tcptraceroute github.com 22

Я включил фрагмент трассировки, показывающий, что он останавливается на ISP:

 6  bundle-ether10.win-core10.melbourne.telstra.net (203.50.11.123)  26.865 ms  26.183 ms  27.529 ms
 7  bundle-ether2.fli-core10.adelaide.telstra.net (203.50.6.228)  34.738 ms  32.591 ms  37.021 ms
 8  bundle-ether1.fli-edge901.adelaide.telstra.net (203.50.11.155)  33.344 ms  33.840 ms  32.964 ms
 9  * * *
10  * * *
11  * * * 

3). Решение проблемы с провайдером

Прежде чем звонить провайдеру, я проверил настройки учетной записи. Отключение родительского контроля по умолчанию помогло -ssh к github.com восстановлен!

Правила заблокировали только youtube.com, и это не сработало. Вполне вероятно, что перезагрузка соединения провайдером после назначения статического IP-адреса вызвала повторную-оценку настроенных правил родительского контроля.

Понятия не имею, почему https к github.com разрешен, а не ssh (или даже почему github.com был заблокирован), но вот, -проблема решена.

2
ответ дан 12 September 2021 в 00:30

Теги

Похожие вопросы