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 za skrbnike 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.