Поиск по сайту:

Как исправить Client_loop: отправка отключения: ошибка сломанного канала


SSH, аббревиатура от Secure Shell, представляет собой протокол удаленной сети, который используется для безопасного подключения к удаленным устройствам, таким как серверы и сетевые устройства, через сеть TCP/IP.

Это криптографический сетевой протокол, который обеспечивает надежные технологии шифрования и хеширования для защиты связи между двумя устройствами в сети.

SSH использует два основных метода аутентификации: аутентификацию по паролю и аутентификацию с открытым ключом. При аутентификации по паролю пользователь предоставляет IP-адрес удаленного хоста или полное доменное имя (полное доменное имя) и пароль для аутентификации.

При аутентификации с открытым ключом для аутентификации используется пара ключей SSH, которая состоит из двух ключей SSH: частных и открытых ключей.

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

При подключении к удаленной системе через SSH вы можете столкнуться с ошибкой Client_loop: send Disconnect: Broken Pipe.

В этом уроке мы увидим, почему это происходит, и устраним ошибку.

Client_loop: отправка отключения: ошибка сломанного канала

Ошибка представляет собой просто сообщение об отключении, которое уведомляет вас о превышении времени ожидания вашего SSH-соединения.

Это период бездействия, в течение которого ни одна команда Linux не выполняется и не выдается со стороны клиента. Когда это происходит, сеанс SSH завершается, что фактически отключает вас от удаленного сервера.

Большинство пользователей обычно нажимают «ENTER» или клавишу на клавиатуре, чтобы избежать простоя сеанса SSH, который приведет к отключению от хоста. Однако это может быть утомительно и отнимать много времени.

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

Исправить Client_loop: отправка отключения: ошибка сломанного канала

Чтобы решить эту проблему, вам необходимо увеличить время ожидания SSH-соединения на клиенте. Для этого измените файл конфигурации SSH по умолчанию, который обычно находится по адресу /etc/ssh/sshd_config.

sudo vi /etc/ssh/sshd_config

Обязательно найдите эти два параметра: ClientAliveInterval и ClientAliveCountMax. Давайте проверим, что они делают.

  • ClientAliveInterval – это период бездействия, после которого SSH-сервер отправляет активное сообщение удаленному клиенту, подключенному к нему.
  • ClientAliveCountMax – это количество попыток, которые сервер предпримет для отправки активного сообщения с сервера клиенту.

Мы установим два значения следующим образом:

ClientAliveInterval	300
ClientAliveCountMax	3

Это означает, что после первых 300 секунд (5 минут) бездействия клиента сервер отправит клиенту активное сообщение, чтобы поддерживать активный сеанс SSH.

Если в течение следующих 300 секунд (после отметки 600 секунд) от клиента не будет получено ни данных, ни ответа, сервер снова отправит еще одно активное сообщение. Наконец, после 900 секунд бездействия клиента соединение SSH будет прервано или разорвано.

Обязательно сохраните изменения, внесенные в файл, а затем выйдите. Затем перезапустите демон SSH.

sudo systemctl restart sshd

Альтернативно вы можете подключиться к вашей удаленной клиентской системе Linux, указав для параметра ServerAliveInterval секунды (300 секунд), что означает, что ваш сеанс SSH активен до 5 минут.

ssh -o ServerAliveInterval=300 username@server_ip_address

В этом руководстве мы продемонстрировали, как устранить ошибку Client_loop: send Disconnect: Broken Pipe. Как вы видели, все, что вам нужно, это внести несколько изменений в файл конфигурации SSH.

Статьи по данной тематике: