Запобігання тайм-ауту з'єднання SSH / пошкодженню труби

Як запобігти відключенню сеансу SSH до сервера. Час очікування підключення або розірвана труба

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

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

Якщо ви використовуєте Mac і скористайтеся інструментом «Термінал» для віддаленого підключення через SSH, то, безумовно, після періоду бездіяльності вас від’єднали із повідомленням: «client_loop: відправити відключення: непрацюючий канал". Я дав рішення в статтю тут, в якому я сказав, що його можна додати в "/etc/ssh/ssh_config" лінія:

Host *
ServerAliveInterval 120

Вищевказане рішення діє для користувачів Macі, чесно кажучи, бути останніми оновленнями macOS Я не проти restart зміни, внесені у файл "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" вимкнено, а значення часового інтервалу дорівнює нулю.

[[email protected] ~]# sudo grep "ClientAliveInterval" /etc/ssh/sshd_config
#ClientAliveInterval 0
[[email protected] ~]# 

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

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

sudo nano /etc/ssh/sshd_config

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

ClientAliveInterval 120
ClientAliveCountMax 10

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

sudo systemctl restart sshd

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

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

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

залишити коментар

Ваша електронна адреса address не буде опубліковано. Обов'язкові поля позначені * *

загальний
0
акції
Попередня стаття

Як ми бачимо, що шукають користувачі на сайті WordPress або в Інтернет-магазині WooCommerce (Запит у вікні пошуку)

Наступна стаття

Не чуєте звуку на "Порожній кошик"? [Як виправити]

загальний
0
частка