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

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

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

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

Host *
ServerAliveInterval 120

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

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

Запобігання тайм-ауту підключення SSH / пошкоджену трубу (поради ssh_config)

1. Підключаємося до сервера, який хочемо активувати, і встановлюємо часовий інтервал для «ClientAliveInternal». Ми відкриваємо SSH у 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“. Я віддаю перевагу "нано".

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 стане стабільнішим і залишатиметься таким же захищеним.

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

Захоплюючись технологіями, я люблю тестувати та писати підручники про операційні системи macOS, Linux, Windows, про WordPress, WooCommerce і налаштувати веб-сервери LEMP (Linux, NGINX, MySQL і PHP). Я пишу далі StealthSettings.com з 2006 року, а через кілька років я почав писати на iHowTo.Tips підручники та новини про пристрої в екосистемі Apple: iPhone, iPad, Apple Годинник, HomePod, iMac, MacBook, AirPods та аксесуари.

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