Рейтинг:2

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

флаг br

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

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

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

$ ssh -T -F ~/.ssh/config [email protected] -vvv

OpenSSH_8.1p1, LibreSSL 2.7.3
debug1: Чтение данных конфигурации /Users/xxxx/.ssh/config
debug1: /Users/xxx/.ssh/config строка 1: Применение параметров для *
debug1: подключение к порту 22 github.com.

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

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

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

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

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

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

ssh -T -p 443 [email protected]

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

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

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

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

Хозяин *
  AddKeysToAgent да
  Использоватьбрелок да
  Файл идентификации ~/.ssh/id_ed25519

И как дополнительный бонус,

$ git конфиг --список
credential.helper=osxkeychain
имя пользователя=хххх
[email protected]
core.autocrlf = ввод
флаг us
Вы перезагружали роутер после назначения статического IP? Что выводит `tcptraceroute github.com 22`? Вы можете установить его с помощью хоумбрю: https://formulae.brew.sh/formula/tcptraceroute.
Рейтинг:2
флаг br

Использовать трассировку tcp

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

1). Установить tcptracoute

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

$ варить установить tcptracoute

2). Запуск tcptracoute

$ судо tcptraceroute github.com 22

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

 6 bundle-ether10.win-core10.melbourne.telstra.net (203.50.11.123) 26,865 мс 26,183 мс 27,529 мс
 7 bundle-ether2.fli-core10.adelaide.telstra.net (203.50.6.228) 34,738 мс 32,591 мс 37,021 мс
 8 bundle-ether1.fli-edge901.adelaide.telstra.net (203.50.11.155) 33,344 мс 33,840 мс 32,964 мс
 9 * * *
10 * * *
11 * * * 

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

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

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

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

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.