Ошибка SSH Broken pipe: соединение с сервером оборвалось
Соединение с сервером оборвалось, пока вы работали или отходили. Подключитесь заново, а одна строка в config уберёт обрывы при простое.
Содержание 10
Что сделать прямо сейчас
- Если окно не реагирует на клавиши, нажмите Enter, затем
~и.— см. раздел про зависшее окно. - Подключитесь заново той же командой.
- Добавьте в config строку ServerAliveInterval — шаг 2.
- Долгие команды запускайте в tmux — шаг 3.
Вместо ВАШ_IP подставьте адрес своего сервера из панели провайдера. В примерах вывода стоит адрес 203.0.113.10 — у вас будет свой IP.
Что значит это сообщение
Варианты сообщения:
client_loop: send disconnect: Broken pipeConnection to 203.0.113.10 closed by remote host.
Connection to 203.0.113.10 closed.Timeout, server 203.0.113.10 not responding.Broken pipe значит, что ssh попытался отправить данные, а соединения уже нет: оно оборвалось раньше, пока вы ничего не делали. Closed by remote host — соединение закрыл сервер или что-то на пути к нему. Timeout, server not responding — ssh сам закрыл сессию, потому что сервер перестал отвечать на проверки связи (шаг 2).
Почему соединение обрывается:
- долго не было никаких действий, и роутер или оборудование провайдера по дороге к серверу забыли о соединении;
- компьютер уснул или сменил подключение к интернету — например, ноутбук переключился с Wi-Fi на мобильный интернет;
- сервер перезагрузили — вы сами, обновление или провайдер.
Шаг 1. Подключитесь заново
Подключитесь той же командой, что и раньше:
ssh root@ВАШ_IPЕсли не получается, проверьте в панели провайдера, работает ли сервер. После перезагрузки подождите, пока система загрузится: до этого сервер не пускает.
Шаг 2. Включите проверку связи в config
Откройте файл config (где он и как его открыть) и добавьте в конец:
Host *
ServerAliveInterval 15Теперь, если от сервера 15 секунд ничего не приходит, ssh отправляет ему короткий запрос по защищённому каналу. Соединение не простаивает, и оборудование по дороге его не забывает. По умолчанию такие запросы выключены.
Если сервер не ответил на три запроса подряд — это значение ServerAliveCountMax по умолчанию, — ssh сам закроет сессию с сообщением Timeout, server … not responding. При интервале 15 секунд это примерно 45 секунд без ответа. Так окно не зависнет надолго.
Для одного подключения то же самое без config:
ssh -o ServerAliveInterval=15 root@ВАШ_IPШаг 3. Запускайте долгие команды в tmux
Если связь оборвалась посреди долгой команды — обновления системы, копирования, сборки, — команда на сервере тоже может прерваться. Чтобы этого не было, запускайте такие команды внутри программы tmux: она продолжает работать на сервере и после обрыва.
Если tmux на сервере нет, установите его:
sudo apt install tmuxСоздайте сессию с именем work и работайте в ней как обычно:
tmux new -s workПосле обрыва подключитесь к серверу снова и вернитесь в сессию — всё, что там было, на месте:
tmux attach -t workСписок сессий — tmux ls. Чтобы выйти из tmux, оставив команду работать, нажмите Ctrl+B, отпустите и нажмите D.
Если окно зависло и не реагирует
После обрыва окно терминала может не реагировать ни на какие клавиши. Нажмите Enter, потом ~ и . — ssh сразу закроет соединение. Раскладка клавиатуры при этом должна быть английской. Подробнее — в инструкции по SSH.
Как проверить
Подключитесь, оставьте окно на время, за которое раньше случался обрыв, и нажмите Enter. Если сервер ответил новой строкой приглашения, соединение живо. Убедиться, что ssh взял настройку из config, можно командой:
ssh -G root@ВАШ_IPОна выводит все действующие настройки для этого подключения и ничего не подключает. Найдите строку serveraliveinterval 15.
Похожие ошибки
| Сообщение | Чем отличается |
|---|---|
| Connection timed out | Подключиться не удаётся с самого начала: сервер не отвечает |
| kex_exchange_identification | Сервер закрыл соединение сразу, до входа |
| Connection refused | На порту никто не слушает — например, сервер ещё загружается |
Источники
- man ssh_config — ServerAliveInterval и ServerAliveCountMax, значения по умолчанию.
- man ssh — раздел ESCAPE CHARACTERS: команда ~. и параметр -G.
- man tmux для Ubuntu 24.04 — команды new, attach, ls и отключение от сессии.
- Исходный код OpenSSH — тексты сообщений об обрыве соединения.
Сверено 9 октября 2026 года.
Что почитать дальше
- Как подключиться к VPS по SSH — подключение, файл config и зависшая сессия.
- Connection timed out — если сервер не отвечает совсем.
- kex_exchange_identification — если соединение рвётся сразу.
- Как открыть терминал — если вы ни разу не запускали команды.
Проверено и обновлено: 09.10.2026