Forhindre SSH Connection Timing Out / Broken Pipe

Denne opplæringen gir deg en veldig god løsning hvis du bruker SSH-tilkoblinger og støter på feilen: SSH Connection Timing Out / Broken Pipe. Feil sagt feil. Det er en melding som kunngjør at forbindelsen mellom datamaskinen din og serveren den var koblet til var stengt Putty eller Terminal.

Både som bruker av Windows så vel som av Mac (de siste 10 årene) tilbrakte jeg mye tid i SSH-tilkoblinger til webservere, e-postservere, sky og andre backuppakker. Favoritt distribusjon av Linux er utvilsomt CentOS.

En av de mest stressende tingene å gjøre administratorii serveren er for å avbryte SSH-tilkoblinger. Enten plutselig mens du knapper inn Putty eller Terminal (oftest er det et lokalt tilkoblingsproblem), eller etter en tid med "idle”- tidsperioden den ikke samhandler med den eksterne serveren gjennom SSH-sesjonen.

Hvis du bruker Mac og bruk verktøyet Terminal for den eksterne tilkoblingen via SSH, så ble du sikkert koblet fra etter litt inaktivitet med meldingen:client_loop: send disconnect: Broken pipe”. Jeg ga løsningen inn artikkelen her, der jeg sa at det kan legges til i "/etc/ssh/ssh_config" linjen:

Host *
ServerAliveInterval 120

Ovennevnte løsning er gyldig for brukere av Mac, og ærlig talt å være de siste oppdateringene av macOS Jeg beholder ikke endringene som er gjort i filen etter omstartssh_config", Og problemet med å koble fra en inaktiv økt kommer tilbake.

En løsning der vi kan forhindre frakobling av en SSH-økt på en avstand satt av Terminal (macOS) eller putty (Windows), er som i tillegg til “ServerAliveInterval”Fra datamaskinen vår for å bestemme den eksterne serveren som skal kommunisere med jevne mellomrom med SSH-applikasjonen / klienten.
Derfor må vi sette direktivet "ClientAliveInterval”I“sshd_config”På serveren vi kobler til.

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

1. Vi kobler til serveren vi ønsker å aktivere og setter et tidsintervall for "ClientAliveInternal". åpen SSH in Putty, Terminal eller et annet lignende verktøy, og vi autentiserer med brukeren root.

ssh root@server.hostname

2. Utfør kommandolinjen for å søke i filen "sshd_config"hvis"ClientAliveInterval” er aktiv og hva er den innstilte tidsperioden.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

I vårt scenario "ClientAliveInterval” er deaktivert og tidsintervallverdien er null.

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

Hashtaggen "#"Plassert foran en linje, avbryter det. Hun er inaktiv.

3. Vi åpner med redaktøren "nano"Eller"vim"Fil"sshd_config". Jeg foretrekker "nano".

sudo nano /etc/ssh/sshd_config

4. Slett “#"Foran linjen"ClientAliveInterval”Og sett et antall sekunder: 60, 120 ...

ClientAliveInterval 120
ClientAliveCountMax 10

5. Lagre endringene og start tjenesten på nytt "sshd".

sudo systemctl restart sshd

ClientAliveInterval : Det er tidsintervallet i sekunder serveren sender en null datapakke til klienten / applikasjonen som vi er koblet til serveren gjennom. Denne praksisen vil holde forbindelsen levende / aktiv.

ClientAliveCountMax : Ikke svarer på SSH-klienter i 10 sykluser på 120 sekunder (sett av "ClientAliveInterval") vil forbindelsen bli avbrutt. Det vil si etter 20 minutter hvor kunden SSH svarte ikke på nullpakker sendt av serveren.

Med disse endringene forbindelsen SSH det vil være mer stabilt og forbli like trygt.

Teknologiinteressert, jeg skriver med glede på StealthSettings.com siden 2006. Jeg har bred erfaring med operativsystemer: macOS, Windows og Linux, samt programmeringsspråk og bloggplattformer (WordPress) og for nettbutikker (WooCommerce, Magento, PrestaShop).

Hvordan » Linux » Forhindre SSH Connection Timing Out / Broken Pipe
Legg igjen en kommentar