3 votes

Pourquoi ssh renvoie-t-il que le réseau est en panne ?

J'essaie, sans succès, de me connecter à un serveur ssh du réseau local depuis MacOS en faisant :

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

et ensuite je reçois :

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

En fait, je peux me connecter à ce serveur à partir de l'application Termius de l'iPhone (et il y a aussi d'autres raisons de penser que le côté serveur est correct), donc je pense qu'il y a un problème du côté client. J'ai essayé cette même application sur MacOS sans succès.

De même, ssh vers une machine virtuelle fonctionne bien, ainsi que vers un serveur amazon aws.

J'ai aussi essayé le mode verbeux :

$ 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

Et 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

Et ping :

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

Qu'est-ce qui pourrait causer le Network is down ? Comment dois-je déboguer cela ?

3voto

thrig Points 777

SSH n'est que le messager, et il est probable qu'il appelle strerror(3) ou équivalent sur un mauvais code de sortie d'un appel de 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 */
$ 

Si nous fouillons dans les pages de manuel du système pour ENETDOWN cela fera apparaître de la documentation...

$ 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
...

Bien que pas autant que connect(2) o intro(2) indiquent simplement

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

IPv6 fonctionne-t-il sur cet hôte ? Vous aurez probablement besoin de déboguer avec ping6 (pas ping ) et peut-être vérifier les paramètres IPv6 via une interface cliquable ou au contraire ifconfig y netstat -rn .

Pour éviter l'interface graphique, les paramètres du réseau pour IPv6 peuvent être ajustés avec quelque chose comme

sudo ipconfig set en0 AUTOMATIC-V6

voir le ipconfig(8) pour plus de détails.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X