Hogyan lehet megakadályozni az SSH kapcsolat időkorlátját Linuxban

Ha sok időt töltesz a parancssorban, talán már találkoztál azzal a bosszantó problémával, hogy a munkamenet egy viszonylag rövid inaktív időszak után leáll. Bár ez biztonsági szempontból kívánatos, problémákat okozhat, amikor egy hosszú ideig futó műveletet próbálsz végrehajtani.
Általában az történik, hogy a szerverrel való kapcsolatod visszaáll, ha egy ideig nem voltál aktív, ami tipikusan ezt a hibát produkálja: Connection reset by peer. Ennek megkerülése érdekében be kell állítania a Keep Alive opciót a kiszolgálón.

Lásd még : OpenSSH-kiszolgáló telepítése és konfigurálása Linuxon

Ebben az útmutatóban megtudhatja, hogyan akadályozhatja meg az SSH-kapcsolat időkiesését, és hogyan tarthatja életben az SSH-munkamenetet némi inaktivitás után is Linuxon.

SSH kapcsolat időkorlátjának növelése

A kiszolgálón lépjen át a /etc/ssh/sshd_config konfigurációs fájlba.

$ sudo vi /etc/ssh/sshd_config

Görgesse végig és keresse meg a következő paramétereket:

#ClientAliveInterval #ClientAliveCountMax

Ahol,

    ClientAliveInterval: Beállít egy időkorlát intervallumot másodpercben, amely után, ha nem érkezik adat az ügyféltől, az sshd üzenetet küld a titkosított csatornán keresztül, hogy választ kérjen az ügyféltől. Az alapértelmezett érték 0, ami azt jelzi, hogy ezek az üzenetek nem kerülnek elküldésre az ügyfélnek. Ez az opció csak a 2-es verziójú protokollra vonatkozik.

  • ClientAliveCountMax: Beállítja a kliens életben lévő üzenetek számát, amelyeket anélkül lehet elküldeni, hogy az sshd üzenetet kapna vissza a klienstől. Ha ezt a küszöbértéket eléri a kliens élő üzenetek küldése közben, az sshd megszakítja a kliens kapcsolatát, és ezzel a munkamenetet befejezi.

A timeout értékét a fenti paraméterek szorzata adja i.pl.

Timeout value = ClientAliveInterval * ClientAliveCountMax

Tegyük fel például, hogy a paramétereket az alábbi módon határozta meg:

ClientAliveInterval 1200ClientAliveCountMax 3
SSH Timeout növelése

A Timeout értéke 1200 másodperc * 3 = 3600 másodperc lesz. Ez 1 órának felel meg, ami azt jelenti, hogy az ssh munkamenet 1 óra üresjárati időn keresztül életben marad megszakítás nélkül.
Alternatívaként ugyanezt az eredményt elérheti a ClientAliveInterval paraméter kizárólagos megadásával is.

ClientAliveInterval 3600

Amint végzett, töltse újra az OpenSSH démont, hogy a változások hatályba lépjenek.

$ sudo systemctl reload sshd

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.