Förhindra SSH-anslutningstiming / trasigt rör

Hur man förhindrar att en SSH-session kopplas bort från en server. Anslutning tidsavbruten eller trasigt rör

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 reservpaket. Linuxs föredragna distribution är utan tvekan CentOS.

En av de mest stressande sakerna för serveradministratörer är för att avbryta SSH-anslutningar. Antingen plötsligt när du knappar i Putty eller Terminal (oftast är det en lokal anslutningsproblem) eller efter ett tag av "inaktiv”- den tidsperiod då den inte interagerar med fjärrservern genom SSH-sessionen.

Om du använder Mac och använd terminalverktyget för fjärranslutning via SSH, sedan efter en period av inaktivitet har du kopplats bort med meddelandet: “client_loop: skicka frånkoppling: trasigt rör”. 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 bryr mig inte restart ändringar i filen "ssh_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-anslutningstidsutgång / trasigt rör (ssh_config-tips)

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

ssh [email protected]

2. Kör kommandoraden för att söka i filen "sshd_config" om "ClientAliveInterval" är aktiv och vilken tidsperiod som är inställd.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

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

[[email protected] ~]# sudo grep "ClientAliveInterval" /etc/ssh/sshd_config
#ClientAliveInterval 0
[[email protected] ~]# 

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 restartJag har 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ällt av “ClientAliveInterval”) avbryts anslutningen. Det vill säga efter 20 minuter då SSH-klienten inte svarade på nollpaket som skickats av servern.

Med dessa ändringar blir SSH-anslutningen mer stabil och förblir lika säker.

Lämna ett svar

E-postadressen publiceras inte. Obligatoriska fält är markerade *

Totalt
0
aktier
föregående artikel

Hur ser vi vad användarna letar efter på en WordPress-webbplats eller WooCommerce onlinebutik (sökrutefråga)

nästa artikel

Kan du inte höra ljudet i "Tom papperskorg"? [Hur man fixar]

Totalt
0
Dela