Che cosa causa il ritorno di ssh La rete non funziona?

2

Sto provando, senza successo, a collegarmi a un server ssh di una rete locale da macOS eseguendo:

$ ssh user@1111:ab1:123:ab1:011b:12bc:ab12:1a2b

e poi ottengo:

ssh: connect to host 1111:ab1:123:ab1:011b:12bc:ab12:1a2b port 22: Network is down

In realtà posso connettermi a quel server dall'app per iPhone Termius (e ci sono anche altri motivi per pensare che il lato server sia ok) quindi credo che ci sia un problema sul lato client. Ho provato la stessa app su macOS senza successo.

Inoltre, ssh su una macchina virtuale funziona bene, così come su un server amazon aws.

Anche provato verboso:

$ ssh user@1111:ab1:123:ab1:011b:12bc:ab12:1a2b -vvv
OpenSSH_7.6p1, LibreSSL 2.6.2
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to 1111:ab1:123:ab1:011b:12bc:ab12:1a2b port 22.
ssh: connect to host 1111:ab1:123:ab1:011b:12bc:ab12:1a2b port 22: Network is down

E IPV6:

$ ssh -6 -vvv user@1111:ab1:123:ab1:011b:12bc:ab12:1a2b
OpenSSH_7.6p1, LibreSSL 2.6.2
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to 1111:ab1:123:ab1:011b:12bc:ab12:1a2b port 22.
ssh: connect to host 1111:ab1:123:ab1:011b:12bc:ab12:1a2b port 22: Network is down

E ping:

$ ping 1111:ab1:123:ab1:011b:12bc:ab12:1a2b
ping: cannot resolve 1111:ab1:123:ab1:011b:12bc:ab12:1a2b: Unknown host

Che cosa potrebbe causare il Network is down ? Come devo eseguire il debug di questo?

    
posta KcFnMi 18.04.2018 - 14:53
fonte

1 risposta

2

SSH è solo il messenger e probabilmente chiama strerror(3) o equivalente su un codice di uscita errato da qualche chiamata socket:

$ find /usr/include -name "*.h" -exec grep 'Network is down' {} +
/usr/include/apr-1/apr_errno.h:#define SOCENETDOWN             (SOCBASEERR+50)            /* Network is down */
/usr/include/sys/errno.h:#define        ENETDOWN        50              /* Network is down */
$ 

Se scaviamo nelle pagine man del sistema per ENETDOWN , si aprirà la documentazione ...

$ find /usr/share/man -type f -exec grep -l ENETDOWN {} +
/usr/share/man/man2/connect.2
/usr/share/man/man2/connectx.2
/usr/share/man/man2/intro.2
/usr/share/man/man2/send.2
...

Anche se non molto come connect(2) o intro(2) indicano semplicemente

 [ENETDOWN]         The local network interface is not functioning.
...
 50 ENETDOWN Network is down.  A socket operation encountered a dead net-
         work.

IPv6 funziona su questo host? Probabilmente dovrai eseguire il debug con ping6 (non ping ) e forse controllare le impostazioni IPv6 tramite qualche interfaccia clicky oppure ifconfig e netstat -rn .

Per evitare la GUI, le impostazioni di rete per IPv6 possono essere regolate con qualcosa di simile a

sudo ipconfig set en0 AUTOMATIC-V6

consulta il manuale ipconfig(8) per i dettagli.

    
risposta data 18.04.2018 - 16:25
fonte

Leggi altre domande sui tag