Предотвратяване на 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) Или Putty (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 ~]# 

Хаштагът "#Msgstr "Поставено пред ред, го отменя. Тя е неактивна.

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 тя ще бъде по-стабилна и ще остане толкова безопасна.

Като пасиониран по технологии, пиша с удоволствие в StealthSettings.com от 2006 г. Имам обширен опит с операционни системи: macOS, Windows и Linux, както и с програмни езици и платформи за блогове (WordPress) и онлайн магазини (WooCommerce, Magento, PrestaShop).

How to » Linux » Предотвратяване на SSH Connection Timing Out / Broken Pipe
Оставете коментар