Užkirsti kelią SSH Connection Timing Out / Broken Pipe

Ši pamoka siūlo labai gerą sprendimą, jei naudojate SSH ryšius ir susiduriate su klaida: SSH Connection Timing Out / Broken Pipe. Neteisingai pasakyta klaida. Tai pranešimas, pranešantis, kad ryšys tarp jūsų kompiuterio ir serverio, prie kurio jis buvo prijungtas, buvo nutrauktas Putty arba Terminal.

Abi kaip Windows taip pat Mac (per pastaruosius 10 metų) praleidau daug laiko SSH jungtys į žiniatinklio serverius, el. pašto serverius, debesį ir kitus atsarginius paketus. Mėgstamiausias platinimas Linux yra neabejotinai CentOS.

Vienas iš labiausiai įtemptų dalykų administratorii serveris yra nutraukti SSH ryšius. Arba staiga užsisegdamas Glaistas arba Terminal (dažniausiai tai yra vietinio ryšio problema) arba po kurio laiko "idle“- laikotarpis, per kurį jis nesusisiekia su nuotoliniu serveriu per SSH sesiją.

Jei naudojate Mac ir naudokite naudingumą Terminal nuotoliniam ryšiui per SSH, tada tikrai po tam tikro neveiklumo buvote atjungtas su pranešimu:client_loop: send disconnect: Broken pipe“. Aš daviau sprendimą straipsnį čia, kuriame sakiau, kad jį galima pridėti "/etc/ssh/ssh_config" linija:

Host *
ServerAliveInterval 120

Pirmiau pateiktas sprendimas galioja Macir, tiesą sakant, būti naujausiais macOS Paleidus iš naujo faile atliktų pakeitimų neišsaugosiussh_config", Ir vėl atsiranda tuščiosios eigos seanso atjungimo problema.

Sprendimas, kuriuo galime užkirsti kelią SSH sesijos atjungimui nustatytu atstumu Terminal (macOS) arba glaistas (Windows), yra kaip be „ServerAliveInterval„Iš mūsų kompiuterio nustatykite, ar nuotolinis serveris periodiškai bendrauja su SSH programa / klientu.
Štai kodėl mes turime pateikti direktyvą "ClientAliveInterval" į "sshd_configServeryje, prie kurio jungiamės.

Užkirsti kelią SSH Connection Timing Out / Broken Pipe (ssh_config patarimai)

1. Prisijungiame prie serverio, kurį norime suaktyvinti, ir nustatome laiko intervalą "ClientAliveInternal“. atviras SSH in Putty, Terminal ar kita panašia programa ir autentifikuojame su vartotoju root.

ssh root@server.hostname

2. Vykdykite komandų eilutę, norėdami ieškoti faile "sshd_config"jei"ClientAliveInterval“ yra aktyvus ir koks yra nustatytas laikotarpis.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

Pagal mūsų scenarijų "ClientAliveInterval“ yra išjungtas, o laiko intervalo reikšmė lygi nuliui.

[root@buffy ~]# sudo grep "ClientAliveInterval" /etc/ssh/sshd_config
#ClientAliveInterval 0
[root@buffy ~]# 

Grotažymė "#"Padėtas priešais liniją, ją panaikina. Ji neaktyvi.

3. Mes atidarome su redaktoriumi "nanoArba "vim„Failas“sshd_config“. man labiau patinka"nano".

sudo nano /etc/ssh/sshd_config

4. Ištrinti „#„Priešais liniją“ClientAliveInterval“Ir nustatykite sekundžių skaičių: 60, 120…

ClientAliveInterval 120
ClientAliveCountMax 10

5. Išsaugokite pakeitimus ir paleiskite paslaugą iš naujo "sshd".

sudo systemctl restart sshd

ClientAliveInterval : Tai yra laiko intervalas sekundėmis, kai serveris klientui / programai, per kurią mes esame prisijungę prie serverio, siunčia null duomenų paketą. Ši praktika palaikys ryšį gyvą / aktyvų.

ClientAliveCountMax : Nereaguojantys SSH klientai per 10 ciklų po 120 sekundžių (nustatyta „ClientAliveInterval“) ryšys bus nutrauktas. Tai yra, po 20 minučių, per kurias klientas SSH neatsakė į serverio išsiųstus nulinius paketus.

Su šiais pakeitimais ryšys SSH jis bus stabilesnis ir išliks toks pat saugus.

Technologijų entuziastas, nuo 2006 metų su malonumu rašau „StealthSettings.com“. Turiu išsamią patirtį su operacinėmis sistemomis: macOS, „Windows“ ir „Linux“, taip pat programavimo kalbomis ir blogo platformomis („WordPress“) bei internetinės parduotuvės platformomis („WooCommerce“, „Magento“, „PrestaShop“).

kaip » Linux » Užkirsti kelią SSH Connection Timing Out / Broken Pipe
Palikite komentarą