Não é possível SSH para github.com após mudar para IP estático

Não é possível SSH para github.com após mudar para IP estático

Eu uso o github.com há muito tempo, mas meu ISP acabou de mudar minha Internet doméstica para um IP estático e agora não consigo fazer SSH para o github.

O que acontece com o SSH?

A chave id_ed25519 acaba de ser gerada novamente. SSH simplesmente para:

$ ssh -T -F ~/.ssh/config [email protected] -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.

O Wireshark mostra que não está recebendo nenhum pacote de retorno:

uma captura de tela do meu wireshark mostrando retransmissões TCP

Então talvez o SSH não seja permitido?

Talvez! Mas posso fazer ssh para instâncias do AWS EC2 no mesmo prompt de comando. Sem problemas.

O que mais eu tentei?

Posso usar SSH sobre HTTPS. Por exemplo, isso...

ssh -T -p 443 [email protected]

...funciona bem e consigo me conectar. Mas preciso saber POR QUE a porta 22 não está mais funcionando para mim.

O que mudou?

Pedi ao meu ISP para me atribuir um IP estático. Eles fizeram isso. Funcionou. As conexões de dispositivos na minha rede parecem vir desse novo IP estático atribuído.

Conteúdo da configuração ssh

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

E como bônus adicional,

$ git config --list
credential.helper=osxkeychain
user.name=xxxx
[email protected]
core.autocrlf=input

Responder1

Usar traceroute tcp

Seguindo o conselho de Tero Kilkanen, instalei o tcptraceroute, o que levou à resolução do problema. Editar: gostaria de acrescentar que não usei tracerouteporque sabia que ele usava o protocolo ICMP e não seria necessariamente roteado da mesma maneira que meus pacotes TCP SSH. Então tcptraceroutefoi novidade para mim e acho que vai ser muito útil!

1). Instale o tcptraceroute

Isso está no Mac, então usei o homebrew para instalar a fórmula sugerida: formulae.brew.sh/formula/tcptraceroute:

$ brew install tcptraceroute

2). Executando tcptraceroute

$ sudo tcptraceroute github.com 22

Incluí um trecho de rastreamento que mostra que ele para com o 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). Resolução com ISP

Antes de ligar para o ISP, verifiquei as configurações da conta. Desativar o controle dos pais padrão resolveu o problema - o ssh para github.com foi restaurado!

As regras bloqueavam apenas o youtube.com e isso não estava funcionando. Parece provável que a reinicialização da conexão pelo ISP após a atribuição do IP estático tenha causado uma reavaliação das regras de controle parental configuradas.

Não tenho ideia de por que https para github.com seria permitido e não ssh (ou mesmo por que github.com foi bloqueado), mas lá vamos nós - problema resolvido.

informação relacionada