Forhindre 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 bruger af Windows såvel som af Mac (i de sidste 10 år) tilbragte jeg meget tid i SSH-forbindelser til webservere, e-mailservere, cloud og andre backuppakker. Favorit distribution af Linux er utvivlsomt CentOS.

En af de mest stressende ting at gøre administratorii af servere er for at afbryde SSH-forbindelser. Enten pludselig mens man knapper i Putty eller Terminal (oftest er det et lokalt forbindelsesproblem), eller efter en tid med "idle”- det tidsrum, hvor det ikke interagerer med fjernserveren gennem SSH-sessionen.

Hvis du bruger Mac og bruge værktøjet Terminal for fjernforbindelsen via SSH, så blev du helt sikkert afbrudt efter lidt inaktivitet med beskeden:client_loop: send disconnect: Broken pipe”. Jeg gav løsningen artiklen her, hvor jeg sagde, at det kan tilføjes i "/etc/ssh/ssh_config" linjen:

Host *
ServerAliveInterval 120

Ovenstående løsning er gyldig for brugere af Macog ærligt talt være de seneste opdateringer af macOS Jeg beholder ikke ændringerne i filen efter genstartssh_config", Og problemet med at afbryde en inaktiv session vender tilbage.

En løsning, hvormed vi kan forhindre frakobling af en SSH-session på en afstand, der er indstillet af Terminal (macOS) eller Putty (Windows), er som udover “ServerAliveInterval”Fra vores computer til at bestemme fjernserveren til at kommunikere med jævne mellemrum med SSH-applikationen / klienten.
Derfor er vi nødt til at sætte direktivet "ClientAliveInterval"I"sshd_config”På den server, vi opretter forbindelse til.

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

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

ssh root@server.hostname

2. Udfør kommandolinjen for at søge i filen "sshd_config"hvis"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 ~]# 

Hashtag "#"Placeret foran en linje, annullerer det. Hun er inaktiv.

3. Vi åbner med redaktøren "nano"Eller"vim"Fil"sshd_config". Jeg foretrækker "nano".

sudo nano /etc/ssh/sshd_config

4. Slet “#"Foran linjen"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, at serveren sender en nul datapakke til klienten / applikationen, gennem hvilken vi er forbundet til serveren. Denne praksis holder forbindelsen levende / aktiv.

ClientAliveCountMax : Ikke reagerer på SSH-klienter i 10 cyklusser på 120 sekunder (indstillet af "ClientAliveInterval") vil forbindelsen 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.

Teknologientusiast, jeg skriver med glæde på StealthSettings.com siden 2006. Jeg har rig erfaring med operativsystemer: macOS, Windows og Linux, samt programmeringssprog og blogplatforme (WordPress) og til onlinebutikker (WooCommerce, Magento, PrestaShop).

Hvordan man » Linux » Forhindre SSH Connection Timing Out / Broken Pipe
Efterlad en kommentar