SSH ne fonctionne tout à coup plus: "Echec de l'écriture: Pipe cassée"

9

J'utilise un macbook pro à la maison et je rentre régulièrement dans les machines de mon laboratoire. Cependant, au cours des 3 à 4 derniers jours, chaque fois que je me connecte à la machine dans le laboratoire, j'obtiens une erreur d'écriture en échec: canal cassé, à peine dans les 2 minutes qui suivent.

Le fait que tout fonctionnait parfaitement il y a quelques jours me déconcerte et toute aide pour remettre les choses en marche serait très appréciée.

NSR
la source
2
Utilisez-vous ServerAliveIntervalou non? Sinon, essayez de le régler.
0xC0000022L
Oui. Il est réglé sur 30. J'ai essayé 15, 30, 60, et cela n'a pas affecté les performances (ou leur absence)
NSR
Avez-vous essayé 1SSHing depuis une autre machine dans le laboratoire pour voir s'il s'agit du macbook? et 2SSHing du macbook à une autre machine pour voir si c'est le laboratoire? découvrir lequel, si l'un ou l'autre a le problème, devrait affiner considérablement votre solution
Yuugian
Eh bien, j'ai utilisé mon ordinateur portable pour SSH sur les mêmes machines à partir d'un réseau différent (un réseau universitaire) et cela a bien fonctionné. Je suppose qu'il se passe quelque chose de bizarre avec mon réseau domestique.
NSR

Réponses:

11

Cela ressemble à un problème de réseau.

Demandez si certains équipements réseau ont changé ou ont été reconfigurés. Dites à votre administrateur réseau que vous rencontrez des difficultés pour entrer, il peut y avoir une mauvaise configuration dans un pare-feu. Essayez de vous connecter à partir d'autres machines ou à d'autres machines pour améliorer le diagnostic.

Une cause possible de ces symptômes est un conflit d'adresse IP. Vérifiez où le client et le serveur obtiennent leur adresse IP. Si vous continuez à ping server.example.comcourir, cela permet-il de prolonger la connexion? Si c'est le cas, vous avez un conflit d'adresse IP. (L' pingaide car il continue de dire aux routeurs le long du chemin d'acheminer les paquets IP vers votre machine - mais vous perdrez toujours la connexion si l'autre machine envoie une réponse ARP avant vous.) Si c'est le problème, vous devez corrigez-le: faites en sorte qu'une des machines qui utilisent la même adresse utilise une adresse différente.

Vérifiez également la table de routage de votre machine. Assurez-vous que les paquets vers le serveur sont acheminés vers l'interface appropriée. (Alors qu'une mauvaise table de routage ferait normalement que la connexion ne fonctionne pas du tout, il y a un cas limite où les symptômes sont ceux que vous décrivez: si vous obtenez une adresse avec DHCP et que le serveur DHCP est également le serveur que vous contactez - l'adresse du serveur DHCP sera routée vers l'interface souhaitée jusqu'à l'expiration de votre cache ARP.)

Gilles 'SO- arrête d'être méchant'
la source
1
ah! cingler un serveur arbitraire semble fonctionner (jusqu'à présent). On dirait que c'était un choc d'adresses IP. Je vais enquêter plus avant et chercher à m'assurer que cela ne se produise pas. Merci !!
NSR
Salut Gilles, Merci pour la solution donnée. Je dépanne ce problème depuis 5 jours en configurant les paramètres ssh ainsi de suite ... Mais cela n'a pas fonctionné. Votre solution m'a beaucoup aidé. Merci beaucoup.
Rajasekhar
1

Cela pourrait être dû à la perte de paquets. Un outil comme celui-ci mtrpourrait vous aider à diagnostiquer lequel des hôtes de l'itinéraire pose problème. Ici vous trouverez les instructions pour l' installer sur Mac OS X.

Frederik Deweerdt
la source
1

J'ai eu ce problème avec certains serveurs du bureau principal et je l'ai résolu en utilisant:

TCPKeepAlive yes
ServerAliveInterval 5

dans le fichier de configuration ssh ( ~/.ssh/config or /etc/ssh/ssh_config).

Ce n'est que plus tard que j'ai découvert que cela était dû à du matériel installé pour optimiser la communication entre les bureaux qui interféraient.

Anthon
la source
1

J'ai résolu mon problème sous Mac OS X, j'ai changé le

#ClientAliveInterval 0

à

ClientAliveInterval 300

en /etc/sshd_configsuivant cela , et redémarrez la machine, c'est fait.

éclaircir
la source
1
Sur MAC OS X 10.12.6 se trouvait dans / etc / ssh / sshd_config
WebOrCode