Forhindre SSH-forbindelse Timing Out / Broken Pipe

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-mail-servere, cloud og andre backup-pakker. Linux foretrukne distribution er utvivlsomt CentOS.

En af de mest stressende ting for serveradministratorer er for at afbryde SSH-forbindelser. Enten pludselig, mens du knap i Putty eller Terminal (ofte som et lokalt forbindelsesproblem) eller efter et stykke tid med "tomgang”- det tidsrum, hvor det ikke interagerer med fjernserveren gennem SSH-sessionen.

Hvis du bruger Mac og brug terminalværktøjet til fjernforbindelse via SSH, så efter en periode med inaktivitet er du blevet afbrudt med beskeden: “client_loop: send afbrydelse: Brudt rør”. 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 har ikke noget imod det restart ændringer foretaget i filen "ssh_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-forbindelse Timing Out / Broken Pipe (ssh_config Tips)

1. Vi opretter forbindelse til den server, vi vil aktivere, og indstiller et tidsinterval for "ClientAliveInternal". Vi åbner SSH i Putty, Terminal eller andet lignende værktøj, og vi godkender med brugeren root.

ssh root@server.hostname

2. Udfør kommandolinjen for at søge i "sshd_config" -filen, hvis "ClientAliveInterval" er aktiv, og hvilken tidsperiode der er indstillet.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

I vores scenario er "ClientAliveInterval" 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 restartJeg har 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”) forbindelsen afbrydes. Det vil sige efter 20 minutter, hvor SSH-klienten ikke reagerede på nulpakker sendt af serveren.

Med disse ændringer vil SSH-forbindelsen være mere stabil og forblive lige så sikker.

Lidenskabelig med teknologi, jeg kan godt lide at teste og skrive tutorials om operativsystemer macOS, Linux, Windows, om WordPress, WooCommerce og LEMP-webserverkonfiguration (Linux, NGINX, MySQL og PHP). Jeg skriver videre StealthSettings.com siden 2006, og et par år senere begyndte jeg at skrive på iHowTo.Tips tutorials og nyheder om enheder i økosystemet Apple: iPhone, iPad, Apple Watch, HomePod, iMac, MacBook, AirPods og tilbehør.

Efterlad en kommentar