Запобігайте SSH -підключеному терміні / розбитому трубі
Цей підручник пропонує вам дуже гарне рішення, якщо ви використовуєте з’єднання SSH і стикаєтеся з помилкою: Тайм-аут з’єднання SSH / Broken Pipe. Неправильно сказана помилка. Це повідомлення про те, що з’єднання між вашим комп’ютером і сервером, до якого він підключений, закрито Putty або Terminal.
І як користувач Windows, і Mac (за останні 10 років) я проводив багато часу в SSH з'єднання до веб-серверів, серверів електронної пошти, хмари та інших систем резервного копіювання. Переважний дистрибутив Linux без сумніву CentOS.
Однією з найбільш стресових речей для адміністраторів серверів є щоб перервати з’єднання SSH. Або раптом під час застібання в Putty, або Terminal (у більшості випадків це проблема локального з’єднання), або через деякий час “idle” – період часу, протягом якого він не взаємодіє з віддаленим сервером через сеанс SSH.
Якщо ви є користувачем Mac і використовуєте інструмент Terminal для віддаленого підключення через SSH, то, безсумнівно, після деякої бездіяльності вас було відключено з повідомленням:client_loop: надіслати disconnect: зламана труба". Я дав рішення стаття тут, в якому я сказав, що його можна додати в “/etc/ssh/ssh_config” лінія:
Host *
ServerAliveInterval 120
Наведене вище рішення дійсне для користувачів Mac, і, чесно кажучи, останні оновлення macOS не зберігають зміни, внесені у файл після перезавантаження “ssh_config“, і проблема з відключенням неактивного сеансу повертається.
Рішення, за допомогою якого ми можемо запобігти розриву сеансу SSH на відстані, встановленій Термінал (macOS) або Шпаклівка (Windows), це як поруч “ServerAliveInterval” з нашого комп’ютера, давайте також визначимо віддалений сервер для періодичного зв’язку з програмою/клієнтом SSH.
Для цього ми повинні поставити директиву “ClientAliveInterval” у “sshd_config” на сервері, до якого ми підключаємось.
Запобігання тайм-ауту з’єднання SSH/Порушений канал (ssh_config Поради)
1. Підключаємося до сервера, який хочемо активувати, і встановлюємо часовий інтервал “ClientAliveInternal“. ВІДЧИНЕНО SSH у Putty, Terminal або іншу подібну утиліту, і ми автентифікуємо користувача root.
ssh [email protected]
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 ~]#
Хештег Semnul “#” розміщений перед рядком, скасовує його. Вона активна.
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 він буде більш стабільним і таким же безпечним.
Запобігайте SSH -підключеному терміні / розбитому трубі
Що нового
Про Stealth
Пристрасний до технологій, я із задоволенням пишу на Stealthsetts.com, починаючи з 2006 року. У мене багатий досвід роботи в операційних системах: MacOS, Windows та Linux, а також у програмах програмування та платформ ведення блогів (WordPress) та для інтернет -магазинів (WooCommerce, Magento, Presashop).
Переглянути всі дописи від StealthВас також може зацікавити...