1 votes

Pourquoi SSH ne détecte-t-il pas les déconnexions ?

Si je me connecte en SSH sur un hôte distant sur OS X, puis ferme le couvercle et me déplace à la maison, en ouvrant le couvercle, OS X note parfois assez rapidement qu'une déconnexion s'est produite (avec le message "Broken pipe."), mais souvent ssh reste bloqué. J'ai pensé à ajouter des keep-alives TCP, cependant, la page man indique :

La valeur par défaut est "oui" (pour envoyer des messages de keepalive TCP), et le client remarquera si le réseau tombe en panne ou si l'hôte distant meurt.

Y a-t-il autre chose que je peux faire ou vérifier? Pourquoi cela fonctionne-t-il?

1voto

Daniel J. Luke Points 11
sysctl -w net.inet.tcp.always_keepalive=1

(ou net.inet.tcp.always_keepalive=1 dans /etc/sysctl.conf)

0voto

Trevor Bramble Points 1920

Si vous voyagez de votre bureau à votre domicile, votre MacBook sera déconnecté de tout réseau.

Même si ssh envoie un keepalive, il ne sera pas reçu par le serveur (car votre ordinateur est hors ligne).

La meilleure chose à faire : quittez votre session ssh avant de voyager, cela évitera au moins les blocages ssh.

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