Az inaktivitás miatti SSH timeout bosszantó. Íme, hogyan tarthatjuk életben az SSH munkameneteket, és hogyan előzhetjük meg az SSH timeoutot:
Azzal, hogy a kliens és a szerver között meghatározott időközönként egy “null csomagot” küldünk, amely kisebb, mint a timeout érték, elkerülhetjük az SSH timeoutot. Nem számít, hogy a csomagot a kliens vagy a szerver küldi, mindaddig, amíg a kettő között folyik valamilyen kommunikáció.
Ha úgy állítjuk be az SSH-klienst, hogy “null csomagokat” küldjön, akkor a számítógépünkről indított összes SSH-kapcsolatunknál elkerülhetjük az SSH-időzítést. Ha bosszantja, hogy a saját SSH munkamenetei időzítettek, amikor szerverekhez csatlakozik, akkor ezt kell tennie.
Ha az ügyfeleinek (ügyfeleknek, felhasználóknak, gyerekeknek) elege van az SSH-időzítésből, akkor vagy utasíthatja őket, hogyan konfigurálják az SSH-kliensüket – például rámutathat erre a cikkre -, vagy beállíthatja magát a szervert úgy, hogy elkerülje az SSH-munkamenet időzítését. Ehhez az SSH-kiszolgálót úgy állítod be, hogy “null csomagokat” küldjön, és ezzel megakadályozod, hogy az összes SSH-kapcsolat, amelyet minden kliens a kiszolgálóhoz létesít, időtúllépést szenvedjen.
Szerencsére a beállítások nem kizárólagosak, így mind a kliensedet, mind az összes kiszolgálót beállíthatod, és minden zökkenőmentesen fog működni.
SSH timeout megakadályozása az ügyféloldalon
Ha Macet vagy Linuxot használsz, akkor a ~/.ssh/config
-ban szerkesztheted a helyi SSH konfigurációs fájlodat, és hozzáadhatod a következő sort:
ServerAliveInterval 120
Ez 120 másodpercenként küld egy “null csomagot” az SSH-kapcsolataidra, hogy életben tartsa őket.
Kiszolgálói oldalon az SSH timeout megakadályozása
Ha te vagy a szerver adminisztrátora, akkor a szervereken a /etc/ssh/sshd_config
-ben lévő SSH daemon konfigurációjához hozzáadhatod a következőt, hogy megakadályozd a kliensek timeoutját – így nem kell módosítaniuk a helyi SSH konfigurációjukat:
ClientAliveInterval 120ClientAliveCountMax 720
Ezzel a szerver 120 másodpercenként “null csomagot” küld a klienseknek, és nem kapcsolja le őket, amíg a kliens nem volt inaktív 720 intervallumig (120 másodperc * 720 = 86400 másodperc = 24 óra).