He estado usando github.com durante mucho tiempo, pero mi ISP acaba de cambiar la Internet de mi hogar a una IP estática y ahora no puedo usar SSH en github.
¿Qué pasa con SSH?
La clave id_ed25519 acaba de volver a generarse. SSH simplemente se detiene:
$ 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.
Wireshark muestra que no recibe ningún paquete de devolución:
una captura de pantalla de mi Wireshark que muestra retransmisiones TCP
Entonces, ¿tal vez SSH no esté permitido?
¡Tal vez! Pero puedo enviar ssh a instancias AWS EC2 sin problemas desde el mismo símbolo del sistema. No hay ningún problema.
¿Qué más he probado?
Puedo usar SSH sobre HTTPS. Por ejemplo, este...
ssh -T -p 443 [email protected]
...funciona bien y puedo conectarme. Pero necesito saber POR QUÉ el puerto 22 ya no me funciona.
¿Qué cambió?
Le pedí a mi ISP que me asignara una IP estática. Ellos han hecho esto. Funcionó. Las conexiones desde dispositivos en mi red parecen provenir de esta nueva IP estática que han asignado.
Contenido de la configuración ssh
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
Y como ventaja adicional,
$ git config --list
credential.helper=osxkeychain
user.name=xxxx
[email protected]
core.autocrlf=input
Respuesta1
Utilice la ruta de seguimiento TCP
Siguiendo el consejo de Tero Kilkanen, instalé tcptraceroute, lo que resolvió el problema. Editar: quería agregar que no lo había usado traceroute
porque sabía que usaba el protocolo ICMP y no necesariamente se enrutaría de la misma manera que mis paquetes TCP SSH. ¡ tcptraceroute
Era nuevo para mí y creo que será muy útil!
1). Instalar tcptraceroute
Esto es en Mac, así que usé homebrew para instalar la fórmula sugerida: formulae.brew.sh/formula/tcptraceroute:
$ brew install tcptraceroute
2). Ejecutando tcptraceroute
$ sudo tcptraceroute github.com 22
He incluido un fragmento de seguimiento que muestra que se detiene con el 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). Resolución con ISP
Antes de llamar al ISP, verifiqué la configuración de la cuenta. Desactivar los controles parentales predeterminados funcionó: ¡se restablece ssh a github.com!
Las reglas solo bloqueaban youtube.com y eso no funcionaba. Parece probable que el reinicio de la conexión por parte del ISP después de asignar la IP estática provocara una reevaluación de las reglas de control parental configuradas.
No tengo idea de por qué se permitiría https a github.com y no ssh (o incluso por qué se bloqueó github.com), pero ahí vamos, problema resuelto.