SSH Connection Timing Out - Broken Pipe

ved

0

Forhindre SSH -forbindelsestid / brudt rør

Forhindre SSH -forbindelsestid / brudt rør

0
SSH Connection Timing Out - Broken Pipe

Denne vejledning giver dig en meget god løsning, hvis du bruger SSH-forbindelser og støder på fejlen: SSH Connection Timing Out / Broken Pipe. Forkert sagt fejl. Det er en meddelelse, der meddeler, at forbindelsen mellem din computer og den server, den var forbundet til, var lukket Putty eller Terminal.

Både som Windows- og Mac-bruger (i de sidste 10 år) brugte jeg meget tid på SSH forbindelser til webservere, e-mailservere, cloud og andre backupsystemer. Den foretrukne distribution af Linux er uden tvivl CentOS.

En af de mest stressende ting for serveradministratorer er at afbryde SSH-forbindelser. Enten pludselig mens man knapper i Putty eller Terminal (det meste af tiden er det et lokalt forbindelsesproblem), eller efter et stykke tid “idle” – den periode, hvor den ikke interagerer med fjernserveren gennem SSH-sessionen.

Hvis du er en Mac-bruger, og du bruger Terminal-værktøjet til fjernforbindelse via SSH, så er du helt sikkert blevet afbrudt med beskeden efter lidt inaktivitet:client_loop: send disconnect: Broken pipe". Jeg gav løsningen ind artiklen her, hvor jeg sagde, at det kan tilføjes “/etc/ssh/ssh_config” linje:

Host *
ServerAliveInterval 120

Ovenstående løsning er gyldig for Mac-brugere, og for at være ærlig beholder de seneste macOS-opdateringer ikke ændringerne i filen efter genstart “ssh_config“, og problemet med at afbryde forbindelsen til en inaktiv session vender tilbage.

En løsning, hvorved vi kan forhindre afbrydelse af en SSH-session på den afstand, der er etableret af Terminal (macOS) eller Kitt (Windows), det er ligesom ved siden af “ServerAliveInterval” fra vores computer, lad os også bestemme fjernserveren til periodisk at kommunikere med SSH-applikationen/klienten.
Til dette er vi nødt til at sætte direktivet “ClientAliveInterval” i “sshd_config” på den server vi forbinder til.

Forhindre SSH-forbindelsestimeout/brudt rør (ssh_config Tip)

1. Vi forbinder til den server vi ønsker at aktivere og indstiller et tidsinterval for “ClientAliveInternal“. åben SSH i Putty, Terminal eller et andet lignende værktøj, og vi godkender med brugeren root.

ssh [email protected]

2. Kør kommandolinjen for at søge i filen “sshd_config” daca “ClientAliveInterval” er aktiv, og hvad er den indstillede tidsperiode.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

I vores scenarie “ClientAliveInterval” er deaktiveret, og tidsintervalværdien er nul.

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

Semnul hashtag “#” placeret foran en linje, annullerer den. Hun er aktiv.

3. Vi åbner med redaktøren “nano” eller “vim” FIL “sshd_config“. Jeg foretrækker “nano“.

sudo nano /etc/ssh/sshd_config

4. Vi sletter “#” foran køen “ClientAliveInterval” og indstil et antal sekunder: 60, 120 …

ClientAliveInterval 120
ClientAliveCountMax 10

5. Gem ændringerne og genstart tjenesten “sshd“.

sudo systemctl restart sshd

ClientAliveInterval : Det er tidsintervallet i sekunder, når serveren sender en null-datapakke til klienten/applikationen, hvorigennem vi er forbundet til serveren. Denne praksis vil holde forbindelsen i live/aktiv.

ClientAliveCountMax : SSH-klienter svarer ikke i 10 cyklusser á 120 sekunder (sat af “ClientAliveInterval“) forbindelsen vil blive afbrudt. Det vil sige efter 20 minutter, hvor kunden SSH svarede ikke på nul-pakker sendt af serveren.

Med disse ændringer forbindelsen SSH det vil være mere stabilt og forblive lige så sikkert.

Forhindre SSH -forbindelsestid / brudt rør

Du kan også være interesseret i...

Efterlad et svar

Din e-mailadresse vil ikke blive offentliggjort. Krævede felter er markeret *