SSH внезапно перестал работать: «Ошибка записи: сломанный канал»

SSH внезапно перестал работать: «Ошибка записи: сломанный канал»

Я использую MacBook Pro дома и регулярно подключаюсь по SSH к машинам в моей лаборатории. Однако за последние 3-4 дня, когда я подключаюсь по SSH к машине в лаборатории, я получаю ошибку Write Failed:Broken Pipe, едва ли не через 2 минуты после подключения по SSH.

Тот факт, что еще несколько дней назад все работало идеально, озадачивает меня, и любая помощь, которая поможет все вернуть на свои места, будет высоко оценена.

решение1

Похоже, что это проблема сети.

Узнайте, изменилось ли или перенастроилось ли сетевое оборудование. Сообщите администратору сети, что у вас возникли проблемы с подключением по ssh, возможно, в брандмауэре есть неверная конфигурация. Попробуйте войти с других машин или на другие машины, чтобы улучшить диагностику.

Одной из возможных причин этих симптомов является конфликт IP-адресов. Проверьте, откуда клиент и сервер получают свой IP-адрес. Если вы продолжаете ping server.example.comработать, помогает ли это продлить соединение? Если да, у вас конфликт IP-адресов. (Это pingпомогает, потому что он постоянно сообщает маршрутизаторам по пути о необходимости маршрутизации IP-пакетов на вашу машину — но вы все равно потеряете соединение, если другая машина отправит ответ ARP раньше вас.) Если проблема в этом, вам нужно ее исправить: договоритесь, чтобы одна из машин, использующих тот же адрес, использовала другой адрес.

Также проверьте таблицу маршрутизации на вашем компьютере. Убедитесь, что пакеты на сервер направляются на нужный интерфейс. (Хотя плохая таблица маршрутизации обычно делает соединение неработоспособным, есть крайний случай, когда симптомы такие, как вы описываете: если вы получаете адрес с DHCP, а сервер DHCP также является сервером, к которому вы обращаетесь, адрес сервера DHCP будет направляться на нужный интерфейс до тех пор, пока не истечет срок действия вашего кэша ARP.)

решение2

Это может быть связано с потерей пакетов. Такой инструмент mtrможет помочь вам диагностировать, какой из хостов в маршруте вызывает проблемы.Здесьвы найдете инструкции по установке на Mac OS X.

решение3

У меня возникла эта проблема с некоторыми серверами в главном офисе, и я решил ее с помощью:

TCPKeepAlive yes
ServerAliveInterval 5

в sshконфигурацияфайл ( ~/.ssh/config or /etc/ssh/ssh_config).

Только позже я узнал, что причиной было какое-то оборудование, установленное для оптимизации связи между офисами, которое создавало помехи.

решение4

Я решил свою проблему в Mac OS X, я изменил

#ClientAliveInterval 0

к

ClientAliveInterval 300

в/etc/sshd_config следующемэтот, и перезагрузите машину, готово.

Связанный контент