Предотвратяване на времето за свързване на SSH / счупена тръба
Този урок ви предлага много добро решение, ако използвате SSH връзки и се сблъскате с грешката: SSH Connection Time Out / Broken Pipe. Неправилно казана грешка. Това е съобщение, което уведомява, че връзката между вашия компютър и сървъра, към който е свързан, е затворена Putty или Terminal.
И като потребител на Windows, и като Mac (през последните 10 години) прекарах много време в SSH връзки към уеб сървъри, сървъри за електронна поща, облак и други системи за архивиране. Предпочитаната дистрибуция на Linux без съмнение е CentOS.
Едно от най-стресиращите неща за сървърните администратори е за прекъсване на SSH връзки. Или внезапно, докато се закопчава в Putty или Terminal (по-голямата част от времето е проблем с локалната връзка), или след известно време “idle” – периодът от време, през който не взаимодейства с отдалечения сървър чрез SSH сесията.
Ако сте потребител на Mac и използвате инструмента Terminal за отдалечена връзка чрез SSH, тогава със сигурност след известно бездействие връзката ви е прекъсната със съобщението:client_loop: изпрати прекъсване на връзката: Счупена тръба". Дадох решението статията тук, в който казах, че може да се добави в “/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
Страстен по технологиите, с удоволствие пиша за StealthSettings.com от 2006 година. Имам богат опит със системи за операционни: macOS, Windows и Linux, както и с езици за програмиране и платформи за блогове (WordPress) и за онлайн магазини (WooCommerce, Magento, PrestaShop).
Вижте всички публикации от StealthМоже също да се интересувате от...