Запобігати SSH Connection Timing Out / Broken Pipe

Цей підручник пропонує вам дуже гарне рішення, якщо ви використовуєте з’єднання SSH і стикаєтеся з помилкою: SSH Connection Timing Out / Broken Pipe. Неправильно сказана помилка. Це повідомлення про те, що з’єднання між вашим комп’ютером і сервером, до якого він підключений, закрито Putty або Terminal.

Як користувач Windows а також по Mac (за останні 10 років) я провів багато часу в SSH-з'єднання до веб-серверів, серверів електронної пошти, хмари та інших резервних пакетів. Улюблена роздача Linux , Безсумнівно, CentOS.

Одна з найбільш стресових справ administratorii серверів є щоб перервати з'єднання SSH. Або раптом під час застібання в Putty, або Terminal (найчастіше це проблема локального підключення), або через час "idle”- період часу, протягом якого він не взаємодіє з віддаленим сервером через сеанс SSH.

Якщо ви використовуєте Mac і скористайтеся утилітою Terminal для віддаленого підключення через SSH, то, безперечно, після деякої бездіяльності вас було відключено з повідомленням:client_loop: send disconnect: Broken pipe". Я дав рішення в статтю тут, в якому я сказав, що його можна додати в "/etc/ssh/ssh_config" лінія:

Host *
ServerAliveInterval 120

Вищевказане рішення діє для користувачів Macі, чесно кажучи, бути останніми оновленнями macOS Я не зберігаю зміни, внесені у файл після перезавантаженняssh_config", І проблема з відключенням простою сеансу повертається.

Рішення, за допомогою якого ми можемо запобігти відключенню сеансу SSH на відстані, встановленій Terminal (macOS) або шпаклівка (Windows), це як крім “ServerAliveInterval”На нашому комп’ютері для визначення віддаленого сервера для періодичної взаємодії з додатком / клієнтом SSH.
Ось чому ми повинні поставити директиву "ClientAliveInterval"У"sshd_config”На сервері, до якого ми підключаємося.

Запобігати SSH Connection Timing Out / Broken Pipe (ssh_config поради)

1. Підключаємося до сервера, який хочемо активувати, і встановлюємо часовий інтервал для "ClientAliveInternal". ВІДЧИНЕНО SSH in Putty, Terminal або іншу подібну утиліту, і ми автентифікуємо користувача root.

ssh root@server.hostname

2. Виконайте командний рядок для пошуку у файлі "sshd_config" якщо "ClientAliveInterval” активний і який встановлений період часу.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

За нашим сценарієм"ClientAliveInterval” вимкнено, а значення часового інтервалу дорівнює нулю.

[root@buffy ~]# sudo grep "ClientAliveInterval" /etc/ssh/sshd_config
#ClientAliveInterval 0
[root@buffy ~]# 

Хештег "#"Розміщений перед рядком, скасовує його. Вона неактивна.

3. Відкриваємо з редактором "nano"Або"vim"Файл"sshd_config". Я віддаю перевагу "nano».

sudo nano /etc/ssh/sshd_config

4. Видалити “#"Перед чергою"ClientAliveInterval”І встановіть кількість секунд: 60, 120 ...

ClientAliveInterval 120
ClientAliveCountMax 10

5. Збережіть зміни та перезапустіть службу "sshd».

sudo systemctl restart sshd

ClientAliveInterval : Це тимчасовий інтервал у секундах, коли сервер надсилає нульовий пакет даних клієнту / додатку, через який ми підключені до сервера. Ця практика буде підтримувати зв’язок живим / активним.

ClientAliveCountMax : Не відповідають клієнти SSH за 10 циклів по 120 секунд (встановлено "ClientAliveInterval») з’єднання буде перервано. Тобто через 20 хвилин, в які клієнт SSH не відповідав на нульові пакети, надіслані сервером.

З цими змінами з'єднання SSH він буде більш стабільним і таким же безпечним.

Захоплений технологіями, з 2006 року з радістю пишу на StealthSettings.com. Маю багаторічний досвід роботи з операційними системами: macOS, Windows і Linux, а також з мовами програмування і платформами для блогів (WordPress) та онлайн-магазинів (WooCommerce, Magento, PrestaShop).

Як записатися » Linux » Запобігати SSH Connection Timing Out / Broken Pipe
Залишити коментар