Prevent SSH Connection Timing Out / Broken Pipe

Ta vadnica vam ponuja zelo dobro rešitev, če uporabljate povezave SSH in naletite na napako: SSH Connection Timing Out / Broken Pipe. Nepravilno povedana napaka. To je sporočilo, ki oznanja, da je bila povezava med vašim računalnikom in strežnikom, s katerim je bil povezan, prekinjena Putty ali Terminal.

Oba kot uporabnik Windows kot tudi z Mac (v zadnjih 10 letih) sem preživel veliko časa v SSH povezave na spletne strežnike, e-poštne strežnike, oblak in druge varnostne pakete. Najljubša distribucija Linux je nedvomno CentOS.

Ena najbolj stresnih stvari administratorii strežnikov je za prekinitev povezav SSH. Bodisi nenadoma med zapenjanjem v Puttyju oz Terminal (najpogosteje je to težava z lokalno povezavo) ali po času "idle”- časovno obdobje, v katerem prek seje SSH ne deluje z oddaljenim strežnikom.

Če uporabljate Mac in uporabite pripomoček Terminal za oddaljeno povezavo prek SSH, potem ste zagotovo po nekaj nedejavnosti prekinili povezavo s sporočilom:client_loop: send disconnect: Broken pipe". Rešitev sem dal članek tukaj, v katerem sem rekel, da ga je mogoče dodati v "/etc/ssh/ssh_config" linija:

Host *
ServerAliveInterval 120

Zgornja rešitev velja za uporabnike Macin iskreno najnovejše posodobitve macOS Po ponovnem zagonu ne obdržim sprememb v datotekissh_config", In težava s prekinitvijo nedejavne seje se vrne.

Rešitev, s katero lahko preprečimo prekinitev seje SSH na razdalji, ki jo določi Terminal (macOS) ali Kiti (Windows), je poleg "ServerAliveInterval”Iz našega računalnika določimo, da bo oddaljeni strežnik redno komuniciral z aplikacijo / odjemalcem SSH.
Zato moramo dati direktivo "ClientAliveInterval" v "sshd_config”Na strežniku, s katerim se povezujemo.

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

1. Povezujemo se s strežnikom, ki ga želimo aktivirati, in nastavimo časovni interval za "ClientAliveInternal". odprto SSH in Putty, Terminal ali drug podoben pripomoček in preverimo pristnost pri uporabniku root.

ssh root@server.hostname

2. Izvedite ukazno vrstico za iskanje v datoteki "sshd_config"če"ClientAliveInterval” aktivna in koliko je nastavljeno časovno obdobje.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

V našem scenariju "ClientAliveInterval” je onemogočen in vrednost časovnega intervala je nič.

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

Hashtag "#"Postavljeno pred vrstico, jo prekliče. Neaktivna je.

3. Odpremo z urejevalnikom "nano"Ali"vim"Mapa"sshd_config". Raje bi "nano".

sudo nano /etc/ssh/sshd_config

4. Izbriši “#"Pred črto"ClientAliveInterval"In nastavite število sekund: 60, 120 ...

ClientAliveInterval 120
ClientAliveCountMax 10

5. Shranite spremembe in znova zaženite storitev "sshd".

sudo systemctl restart sshd

ClientAliveInterval : Gre za časovni interval v sekundah, ko strežnik pošlje ničelni podatkovni paket odjemalcu / aplikaciji, prek katere smo povezani s strežnikom. Ta praksa bo povezavo ohranjala / živela.

ClientAliveCountMax : Neodzivni odjemalci SSH v 10 ciklih po 120 sekund (nastavil "ClientAliveInterval«) bo povezava prekinjena. Se pravi po 20 minutah, v katerih stranka SSH ni odgovoril na ničelne pakete, ki jih je poslal strežnik.

S temi spremembami povezava SSH bolj bo stabilen in ostal tako varen.

Strasten do tehnologije, z veseljem pišem na StealthSettings.com od leta 2006. Imam bogate izkušnje s operacijskimi sistemi: macOS, Windows in Linux, ter programskimi jeziki in platformami za bloganje (WordPress) in za spletne trgovine (WooCommerce, Magento, PrestaShop).

kako » Linux » Prevent SSH Connection Timing Out / Broken Pipe
Pustite komentar