Tengo un Mac al que por alguna razón ya no consigo conectarme por ssh. Estoy completamente perplejo y estoy buscando ideas de qué probar a continuación (a falta de reinstalar todo el sistema). He intentado lo siguiente:
-
Por supuesto, me he asegurado de que la opción "Inicio de sesión remoto" está activada en las preferencias del sistema de compartición del servidor.
-
El cortafuegos está desactivado en la configuración de red del servidor.
-
He comprobado que el servicio ssh está activo escribiendo
sudo launchctl list | grep ssh
que da como resultado- 0 com.openssh.sshd
igual que en las máquinas a las que puedo acceder por ssh. -
En el terminal del servidor, si escribo
ssh localhost
funciona como se esperaba (es decir, obtengo un intérprete de comandos). Además, al escribirtelnet localhost 22
da el comportamiento normal, por lo que el puerto parece estar activo. -
He hecho un
tcpdump
en el servidor que muestra peticiones entrantes en el puerto 22 pero ninguna respuesta al cliente. (A menos que escuche en la interfaz loopback e inicie sesión desde el propio servidor, en cuyo caso todo se comporta como cabría esperar). La salida del tcpdump en la máquina problemática es la siguiente (la máquina con una dirección terminada en 14.85 es la problemática):% sudo tcpdump -i en0 -n host XXX.XXX.14.4 Password: tcpdump: verbose output suppressed, use -v[v]... for full protocol decode listening on en0, link-type EN10MB (Ethernet), snapshot length 524288 bytes 15:24:43.556929 IP XXX.XXX.14.4.49744 > XXX.XXX.14.85.22: Flags [S], seq 1150830320, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 3381388029 ecr 0,sackOK,eol], length 0 15:24:44.558314 IP XXX.XXX.14.4.49744 > XXX.XXX.14.85.22: Flags [S], seq 1150830320, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 3381389031 ecr 0,sackOK,eol], length 0
-
He comprobado que launchd está escuchando en el puerto 22 ejecutando
sudo lsof -i -n -P | grep LISTEN
. La salida es similar a la de otras máquinas donde ssh funciona bien. -
Soy capaz de acceder al servidor a través de vnc utilizando la aplicación Screensharing.
-
Puedo acceder por ssh a otra máquina que está en la misma red local, así que no es un problema de cortafuegos (y, como ya se ha mencionado, veo las peticiones entrantes en el puerto 22).
-
Cuando intento hacer ssh con la bandera -vvv, obtengo lo siguiente
% ssh -vvv user@hostname OpenSSH_9.3p2, LibreSSL 3.3.6 debug1: Reading configuration data /Users/xxx/.ssh/config debug1: /Users/xxx/.ssh/config line 1: Applying options for 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 * debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/Users/xxx/.ssh/known_hosts' debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/Users/xxx/.ssh/known_hosts2' debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling debug1: Connecting to hostname port 22.
A estas alturas se me han acabado las ideas de cosas que intentar para depurar el problema.... ¿Alguna idea?