Този урок ви предлага много добро решение, ако използвате 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” de pe calculatorul nostru, sa determinam si serverul de la distanta sa comunice periodic cu aplicatia / clientul SSH. 
Pentru asta trebuie sa punem directiva “ClientAliveInterval” в “sshd_config” pe serverul la care ne conectam. 
Prevent SSH Connection Timing Out / Broken Pipe (ssh_config Съвети)
1. Ne conectam la serverul pe care dorim sa activam si sa stabilim un interval de timp pentru “ClientAliveInternal“. Deschidem SSH в Putty, Terminal sau alt utilitar asemanator si ne autentificam cu user root. 
ssh [email protected]2. Executam linia de comanda pentru a cauta in fisierul “sshd_config” дака “ClientAliveInterval” este activ si care este perioada de timp setata.
sudo grep "ClientAliveInterval" /etc/ssh/sshd_configIn scenariul nostru “ClientAliveInterval” este dezactivat si valoare intervalului de timp este zero.
[root@buffy ~]# sudo grep "ClientAliveInterval" /etc/ssh/sshd_config
#ClientAliveInterval 0
[root@buffy ~]# Semnul hashtag “#” pus in fata unei linii, o anuleaza. Este inctiva.  
3. Deschidem cu editor “nano” или “vim” fisierul “sshd_config“. Eu prefer “nano“. 
sudo nano /etc/ssh/sshd_config4. Stergem “#” din fata liniei “ClientAliveInterval” si setam un numar de secunde: 60, 120 … 
ClientAliveInterval 120
ClientAliveCountMax 105. Запазете промените и рестартирайте услугата “sshd“. 
sudo systemctl restart sshdClientAliveInterval : Това е интервалът от време в секунди, когато сървърът изпраща нулев пакет данни към клиента / приложението, чрез което сме свързани към сървъра. Тази практика ще поддържа връзката жива/активна. 
ClientAliveCountMax : SSH клиентите не отговарят в 10 цикъла по 120 секунди (зададено от “ClientAliveInterval“) връзката ще бъде прекъсната. Тоест след 20 минути, в които клиентът SSH не отговори на нулеви пакети, изпратени от сървъра. 
С тези промени връзката SSH тя ще бъде по-стабилна и ще остане толкова безопасна.
 
			