Zabraňte načasování připojení SSH / zlomené trubky

Acest tutorial iti ofera o rezolvare foarte buna daca folosesti conexiuni SSH si intampini eroarea: SSH Connection Timing Out / Broken Pipe. Impropriu spus eroare. Este un mesaj care anunta ca a fost inchisa conexiunea dintre calculatorul tau si serverul la care era conectat prin Putty nebo Terminal.

Atat ca utilizator de Windows cat si de Mac (in ultimii 10 ani) mi-am petrecut foarte mult timp in conexiuni SSH la web servere, servere de e-mail, cloud si alte balarii de backup. Distributia preferata de Linux este fara indoiala CentOS.

Una dintre chestiile cele mai stresante pentru administratorii de servere este sa se intrerupa conexiunile SSH. Fie subit in timp ce butoneaza in Putty sau Terminal (de cele mai multe ori fiind vorba despre o problema de conexiune locala), fie dupa un timp deidle” – perioada de timp in care nu interactioneaza cu serverul la distanta prin sesiunea SSH.

Daca sunteti utilizator de Mac si folositi utiliarul Terminal pentru conexiunea la distanta prin SSH, atunci cu siguranta dupa in timp de inactivitate ati fost deconectat cu mesajul:“client_loop: send disconnect: Broken pipe”. Rezolvarea am dat-o in articolul de aici, in care am spus ca se poate adauga in/etc/ssh/ssh_configlinia:

Host *
ServerAliveInterval 120

Solutia de mai sus este valabila pentru utilizatorii de Mac, iar sincer sa fiu cele mai recente actualizari ale macOS nu retin dupa restart modificarile facute in fisierulssh_config, iar problema cu deconectarea unei sesiuni in idle revine.

O solutie prin care putem preveni deconectarea unei sesiuni SSH la distanta stabilita prin Terminál (macOS) sau Putty (Windows), este ca pe langaServerAliveIntervalde pe calculatorul nostru, sa determinam si serverul de la distanta sa comunice periodic cu aplicatia / clientul SSH.
Pentru asta trebuie sa punem directivaClientAliveInterval” v “sshd_configpe serverul la care ne conectam.

Prevent SSH Connection Timing Out / Broken Pipe (ssh_config Tips)

1. Ne conectam la serverul pe care dorim sa activam si sa stabilim un interval de timp pentruClientAliveInternal. Deschidem SSH v Putty, Terminal sau alt utilitar asemanator si ne autentificam cu user root.

ssh root@server.hostname

2. Executam linia de comanda pentru a cauta in fisierulsshd_configdacaClientAliveIntervaleste activ si care este perioada de timp setata.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

In scenariul nostruClientAliveIntervaleste 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 editornano” nebo “vimfisierulsshd_config. Eu prefernano“.

sudo nano /etc/ssh/sshd_config

4. Stergem#din fata linieiClientAliveIntervalsi setam un numar de secunde: 60, 120

ClientAliveInterval 120
ClientAliveCountMax 10

5. Salvam modificarile si restartam serviciulsshd“.

sudo systemctl restart sshd

ClientAliveInterval : Este intervalul de timp in secunde la care serverul ca trimite un pachet de date null catre client / aplicatia prin care suntem conectati la server. Aceasta practica va tine conexiunea in viata / activa.

ClientAliveCountMax : Clientii SSH care nu raspund in 10 cicluri de 120 de secunde (setate deClientAliveInterval) se va intrerupe conexiunea. Adica dupa 20 de minute in care clientul SSH nu a raspuns pachetelor nule trimise de server.

Cu aceste modificari conexiunea SSH va fi mai stabila si ramane la fel de sigura.

Vášnivý pro technologii, píšu s potěšením na StealthSetts.com počínaje rokem 2006. Mám bohaté zkušenosti s operačními systémy: MacOS, Windows a Linux, ale také v programovacích jazycích a platformách blogů (WordPress) a pro online obchody (WooCommerce, Magento, Presashop).

Domov Váš zdroj IT tutoriálů, užitečných tipů a zpráv. Zabraňte načasování připojení SSH / zlomené trubky
Zanechte komentář