He intentado muchas cosas para averiguar por qué mi SSH me da el siguiente mensaje (estoy usando IP y quité la dirección IP)
OpenSSH_8.1p1, LibreSSL 2.7.3
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 47: Applying options for *
debug1: Connecting to xxx.xxx.xxx.xxx [xxx.xxx.xxxxxx] port 22.
debug1: connect to address xxx.xxx.xxx.xxx port 22: Operation timed out
Puedo conectarme a mi VM (en la misma máquina), un servidor en mi intranet (incluso dentro de VPN) sin ningún problema.
Pero, cada vez que me conecto a un servidor en Internet. Me sale el mensaje de arriba.
NOTA:
- El servidor de Internet funciona. Utilizo otro portátil SSH al servidor de internet (en la misma red) . Funciona correctamente.
- No tengo ningún firewall en mi Macbook Pro.
Actualización1: Mi /etc/ssh/ssh_config tiene la siguiente configuración. (No he puesto comentarios).
Host *
SendEnv LANG LC_*
Actualización2: Después del uso telnet xxx.xxx.xxx.xxx 22
Mi macbook averiado mostraba lo siguiente:
Trying xxx.xxx.xxx.xxx...
telnet: connect to address xxx.xxx.xxx.xxx: Operation timed out
telnet: Unable to connect to remote host
Y mi macbook de trabajo mostró
H-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.2
Actualización3: Hice dos cosas. (1) Actualicé a Monterey 12.2. El mismo problema seguía ocurriendo. (2) Solucioné el problema ejecutando los siguientes comandos. Obtengo las siguientes respuestas.
telnet xxx.xxx.xxx.xxx 22
Trying xxx.xxx.xxx.xxx...
Entonces
telnet xxx.xxx.xxx.xxx 23
Trying xxx.xxx.xxx.xxx...
telnet: connect to address xxx.xxx.xxx.xxx: Connection refused
telnet: Unable to connect to remote host
ssh -vvv admin@xxx.xxx.xxx.xxx -p 200
OpenSSH_8.6p1, LibreSSL 2.8.3
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files
debug1: /etc/ssh/ssh_config line 54: Applying options for *
debug2: resolve_canonicalize: hostname xxx.xxx.xxx.xxx is address
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/Users/hchang/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/Users/hchang/.ssh/known_hosts2'
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug3: ssh_connect_direct: entering
debug1: Connecting to xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx] port 200.
debug3: set_sock_tos: set socket 3 IP_TOS 0x48
debug1: connect to address xxx.xxx.xxx.xxx port 200: Connection refused
ssh: connect to host xxx.xxx.xxx.xxx port 200: Connection refused
Creo firmemente que el puerto 22 está limitado por los nuevos MacOS. También he visto quejas similares en algunos post. Tengo que averiguar cómo MacOS está haciendo en él.
Actualización4: Obtuve los siguientes resultados.
https://itectec.com/askdifferent/ssh-not-working-after-MacOS-10-15-6-update/ https://tyler.io/so-uh-i-think-catalina-10154-broke-ssh/
Así que cambié mi servidor de alojamiento para escuchar el puerto 8822 y luego usar mi Macbook fallido para SSH él. Funcionó en el puerto 8822.
Para resumir mis experiencias hasta ahora - (1) El cambio de puerto de 22 a otros funciona bien. (2) Usar el puerto 22 para SSH al host "intranet" funciona bien. (3) Parece que ocurre en MacOS más recientes.