Що таке тайм-аут за замовчуванням на SSH?

Secure Shell – це метод віддаленого керування комп’ютером або сервером, доступний для Linux, OS X та Windows. Час очікування сеансу SSH через певні проміжки часу, оскільки відкритий сеанс SSH без нагляду становить загрозу безпеці. Якщо ви неактивні протягом певного часу, з’єднання вимкнеться, і вам доведеться знову ввійти. Цей час очікування визначається налаштуваннями TCP вашої системи, але його можна змінити в налаштуваннях сервера або в налаштуваннях клієнта. Якщо ви виявите, що ваше з’єднання SSH надто часто перестає працювати, ви завжди можете відредагувати свою конфігурацію SSH, щоб дати вам більш-менш неактивний час.

Час очікування TCP

Тайм-аут вашого сервера за замовчуванням дорівнює часу очікування TCP вашої системи. Це пояснюється тим, що сервери SSH автоматично налаштовуються на використання TCPKeepalive, який надсилає зонд у заданий час, коли система неактивна, щоб перевірити, чи з’єднання все ще існує. Цей параметр за замовчуванням залежить від вашої системи. Деякі системи використовують значення за замовчуванням до п'яти секунд, а деякі - до двох годин; в середньому зазвичай становить від трьох до п’яти хвилин. Ваше з’єднання SSH, якщо воно не було змінено, щоб змінити час очікування на сервері чи клієнті, використовуватиме цей час очікування. Налаштування на сервері або клієнті замінять цей час очікування.

Відео дня

Налаштування тайм-ауту для всього сервера

Редагування часу очікування у файлі sshd_config змінить параметри тайм-ауту для кожного клієнта, який входить на сервер. Системні адміністратори можуть отримати доступ до цього файлу за адресою /etc/ssh/sshd_config. Якщо ви використовуєте термінал і вам зручно користуватися редактором терміналів, ви можете повністю редагувати його в терміналі, ввівши «sudo nano /etc/ssh/sshd_config». Додайте параметр "ClientAliveInterval", який повідомляє серверу надіслати пакет даних клієнту для перевірки активності. Ви також повинні розглянути можливість додати "ClientAliveCountMax"; це повідомляє серверу, скільки разів він повинен перевірити, не отримавши відповіді. Не ставте перед ними знак фунта; рядки зі знаками фунта перед ними вважаються коментарями і не є активними параметрами на сервері. Наприклад, якщо ви хочете встановити ClientAliveInterval на п’ять хвилин, а ClientAliveCountMax на дві, це може виглядати так: ClientAliveInterval 300ClientAliveCountMax 2

Тайм-аут на основі клієнта

Якщо ви використовуєте такий клієнт, як Putty, ви можете змінити час очікування, натиснувши опцію «Підключення» на бічній панелі та заповніть бажаний час у текстовому полі поруч із «Секунди між підтримками» у секунд. Це має ґрунтуватися виключно на тому, скільки часу, на вашу думку, ви будете неактивні між діяльністю. Ви також можете змінити це вручну, відкривши файли налаштувань на стороні клієнта за адресою /etc/ssh/ssh_config – зверніть увагу на різницю між файлом сервера «sshd_config». Додайте параметр «ServerAliveInterval» і встановіть у секундах, як часто ви хочете, щоб клієнт надсилав пакети, щоб підтримувати з’єднання активним.

Ризики зміни тайм-ауту

Очевидно, що зміна тайм-ауту — це питання зручності — це дозволяє виконувати багатозадачність без необхідності часто оновлювати свій вхід на сервер SSH. Однак це означає, що вам потрібно бути більш пильними за робочим столом. Якщо ви відійдете від комп’ютера з відкритим з’єднанням SSH, будь-хто може сісти та отримати доступ до вашого сервера. Хоча залишати SSH-з’єднання відкритим для домашнього використання менш тривожно, ніж коли ви робите це для себе, звичка залишати свій зв’язок відкритим може мати дуже жахливі наслідки руки.