Förhindra SSH Connection Timing Out / Broken Pipe

Denna handledning erbjuder dig en mycket bra lösning om du använder SSH-anslutningar och stöter på felet: SSH Connection Timing Out / Broken Pipe. Felaktigt sagt fel. Det är ett meddelande som meddelar att anslutningen mellan din dator och servern den var ansluten till stängdes Putty eller Terminal.

Både som användare av Windows såväl som av Mac (de senaste tio åren) Jag tillbringade mycket tid i SSH-anslutningar till webbservrar, e-postservrar, moln och andra backuppaket. Favoritdistribution av Linux är utan tvekan CentOS.

En av de mest stressande sakerna att göra administratorii servern är för att avbryta SSH-anslutningar. Antingen plötsligt när man knäpper i Putty eller Terminal (oftast är det ett lokalt anslutningsproblem), eller efter en tid av "idle”- den tidsperiod då den inte interagerar med fjärrservern genom SSH-sessionen.

Om du använder Mac och använda verktyget Terminal för fjärranslutningen via SSH, så blev du säkerligen frånkopplad efter viss inaktivitet med meddelandet:client_loop: send disconnect: Broken pipe”. Jag gav lösningen artikeln här, där jag sa att det kan läggas till i "/etc/ssh/ssh_config" linjen:

Host *
ServerAliveInterval 120

Ovanstående lösning gäller för användare av Macoch ärligt talat vara de senaste uppdateringarna av macOS Jag behåller inte ändringarna som gjorts i filen efter omstartssh_config", Och problemet med att koppla från en inaktiv session återkommer.

En lösning genom vilken vi kan förhindra frånkoppling av en SSH-session på ett avstånd som anges av Terminal (macOS) eller kitt (Windows), är som förutom “ServerAliveInterval”Från vår dator för att bestämma fjärrservern att kommunicera regelbundet med SSH-applikationen / klienten.
Det är därför vi måste sätta direktivet "ClientAliveInterval" i "sshd_config”På servern vi ansluter till.

Förhindra SSH Connection Timing Out / Broken Pipe (ssh_config tips)

1. Vi ansluter till servern vi vill aktivera och ställer in ett tidsintervall för "ClientAliveInternal". öppen SSH in Putty, Terminal eller annat liknande verktyg och vi autentiserar med användaren root.

ssh root@server.hostname

2. Kör kommandoraden för att söka i filen "sshd_config" om "ClientAliveInterval” är aktiv och vad är den inställda tidsperioden.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

I vårt scenario "ClientAliveInterval” är inaktiverad och tidsintervallvärdet är noll.

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

Hashtaggen "#"Placeras framför en rad, avbryter den. Hon är inaktiv.

3. Vi öppnar med redaktören "nano"Eller"vim"Fil"sshd_config". Jag föredrar "nano".

sudo nano /etc/ssh/sshd_config

4. Ta bort “#"Framför linjen"ClientAliveInterval”Och ställ in ett antal sekunder: 60, 120 ...

ClientAliveInterval 120
ClientAliveCountMax 10

5. Spara ändringarna och starta om tjänsten "sshd".

sudo systemctl restart sshd

ClientAliveInterval : Det är tidsintervallet i sekunder som servern skickar ett null-datapaket till klienten / applikationen genom vilken vi är anslutna till servern. Denna övning kommer att hålla anslutningen vid liv / aktiv.

ClientAliveCountMax : SSH-klienter som inte svarar i 10 cykler på 120 sekunder (inställd av "ClientAliveInterval") kommer anslutningen att avbrytas. Det vill säga efter 20 minuter där kunden SSH svarade inte på nollpaket skickade av servern.

Med dessa förändringar anslutningen SSH det blir mer stabilt och förblir lika säkert.

Brinner för teknik, skriver jag med glädje på StealthSettings.com sedan 2006. Jag har lång erfarenhet av operativsystem: macOS, Windows şi Linux, men också i programmeringsspråk och bloggplattformar (WordPress) och för nätbutiker (WooCommerce, Magento, PrestaShop).

Hur man » Linux » Förhindra SSH Connection Timing Out / Broken Pipe
Lämna en kommentar