Keep Alive SSH

 ( Proci85 | 2016. február 21., vasárnap - 0:39 )

Sziasztok

Ha a UPC-s nettel kapcsolódok SSH szerverekhez, mindig beszakadnak az SSH kapcsolataim pár perc tétlenség után. Kénytelen vagyok htop-ot indítani az üresjárati időkre, míg pl. éppen googlezok.
Az itt leírt megoldás szerint kliensbe ezt:

~/.ssh/config
Host *
    ServerAliveInterval 300
    ServerAliveCountMax 2

szerver oldalra ezt:

/etc/ssh/sshd_config:
ClientAliveInterval 300
ClientAliveCountMax 2

tegyem.

Ha nem pakolom bele minden szerverembe a fenti kódot, a kliensem módosítása miatt most az ssh kliens zárja le a kapcsolatot 5 perc után...

Van esetleg olyan kliens oldali trükk, amivel nem kell mindazösszeslétező szerverembe betenni az sshd_config módosítást, de még is megtartja a kapcsolataimat?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Én személy szerint azt nem értem, hogy a Count-ot miért veszed kisebbre, mint a default, holott az lenne a lényeg, hogy hosszabb tétlenséget viseljen el. Másrészt pedig az intervallumot sokkal lejjebb venném (azaz sűrűbben küldenék a klienstől "ott-vagy?" csomagokat), mert különben a szolgáltató tűzfala fogja megszakítani (szerintem). Tippem szerint a ServerAliveInterval értéke valahol a fél perc/egy perc körül - azaz 30 / 60 - lehet jó, a ServerAliveCountMax értéke pedig attól függ, hogy a szerver kiesése esetén mennyi idő múlva akarod elhinni, hogy már nincs élet. Azaz tfh az ServerAliveInterval 60, és ServerAliveCountMax 10, ekkor a kliens 60 másodpercenként "pingeti" meg a szervert - ennyit azért egy normális tűzfalnak szerintem illik elviselni tétlenség nélkül -, és 10 perc szerverkiesés után fogja a kliens ezt elfogadni, és lezártnak tekinteni a kapcsolatot. (Legalábbis én ezeket a paramétereket így értelmezem.)

cliensen:

touch akarmi.sh

vim akarmi.sh
###Szerk kezdete
#!/bin/bash
while sleep 300; do
echo -en "\00"
done
###Szerk.vége

chmod +x akarmi.sh
## script futatás háttérben.
./akarmi.sh &

kliens oldalon ez nekem bejött (nem UPC), szerver oldalon nincs ehhez kapcsolódó változtatás (CentOS 6):

 Host *
    KeepAlive yes
    ServerAliveInterval 20 

Nekem még a KeepAlive sem kell.

Nekem speciel a dokumentáció nem is említ ilyen opciót, se a kliens, se a szerver oldali. Egyes-egyedül a TCPKeepAlive-ot, ami viszont gyárilag yes-en áll.

Es pont az ellentetet csinalja annak amit gondolnal :)

Nem akarom elkiabálni, de ez a kombináció jónak tűnik. Köszönöm!

+1

Én kliensoldalon szimplán "ServerAliveInterval 60"-at adtam meg, azóta semmi gondom nem volt még vele.
Előtte otthonról, UPC kapcsolaton nem volt probléma, viszont másik hálózaton állandóan megszakadt (T, de nem feltétlen a szolgáltató volt a kiváltó ok).

Mindkettő (kliens és szerver is) Debianon fut.

Nekem is volt ilyen nyűgös UPC-s kapcsolatom, még régen, de csak egyetlen irányba. A megoldás az volt, hogy arrafelé (a másik végen) tré volt a netkapcsolat. Nem nagyon, de a tapasztalatom az, hogy az SSH nem túl megbocsátó. Minden más jól ment a két végpont között.

Szóval: ugyanaz a gép/másik kapcsolat esetén mi van?
Vagy, ami a kevésbé valószínű: ugyanaz a kapcsolat/másik gép esetén mi van?

A szervereket bárhonnan piszkálom tökéletes, óráig ott hagyhatom bejelentkezve, semmi gond. Még azt is elviselik, ha pár percre lehúzom a hálózatról a kliens gépemet. Mikor visszadugom, az MC ott folytatja a könyvtárlistázást, ahol abbahagytam.
Egyedül ezen a UPC-s neten van ez a befagyás jelenség. pár perc tétlenség után.

Hogy használod a upc-s netet?

A modem bridge, vagy router módba van, ha bridge módba, közvetlenül dugod a gépet a netre, vagy van valami saját router?

Koax -> upc modem -> saját router -> laptop
A modem router módban van. Úgy sejted, hogy a bridge mód megoldást jelenthet?
Végül is egy próbát megér.

Igen, ilyen használat esetén rakd át bridge módba.

Pár hete nekem is ez van a UPC-nél.

dupla

subscribe
* Én egy indián vagyok. Minden indián hazudik.

+1

--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

http://www.noah.org/wiki/SSH_config

A KeepAlive eleg counter intuitive.

mosh ?
ssh-agent -et nem viszi át, de tmux-szal tökéletes amúgy.

Idézet:
ServerAliveCountMax 2

Ne csak másolj, gondolkodj is. Ez pont azt jelenti, hogy maximum 2-szer küld keepalive üzenetet, aztán bont. Írjál be valami akkora számot, amit nem szégyellsz, és problem solved.

--

-

[Feliratkozás]

.

Nekem az a tapasztalatom, hogy ezt az esetek egy jó részében nem szerver beállítás okozza, és nem UPC hanem egy olcsó SOHO router. Jelenleg is UPC kapcsolatom van, és ha a nat-os átjáró egy FreeBSD szerver meg az a szerver is normális Unix gép amihez kapcsolódom, akkor akár egy napig is be lehetek jelentkezve és nem szakad meg. Akkor sem, ha egy billentyűt se nyomok rajta.

Ha viszont az átjáró nem egy "rendes" gateway hanem egy olcsó Wifi router, akkor az bizony egy idő után magától megszakítja azokat a TCP kapcsolatokat amiken nincs adatforgalom. Ezen segíthet az, ha mindenféle trükkökkel eléred hogy legyen rajta adatforgalom, de ez sámánkodás és bűvészkedés kategória.

Nyilván lehet más is az oka, pl. olyan shell beállítás ami auto logout-ol - de a logout az nem "kapcsolat megszakadás", ezért biztos nem erre gondoltál.

Meg lehet más oka is, csak nekem ez a tapasztalatom, ezért bátorkodtam megírni.

Igazából ha arra van szükséged, hogy legyen egy virtuális szöveges terminálod amihez távolról tudsz fel- és lekapcsolódni, akkor ajánlom a screen nevű programot. Kicsit olyan mint egy távoli asztal kapcsolat, csak nem grafikus módban hanem szövegesben. Ha erre nincs szükséged, akkor meg nem is igazán fontos hogy 3 óra vagy 10 óra után szakad meg a kapcsolat.

Nem igazán idevág, egy másik topicban nyűglődtem az ssh alagutazással és valaki javasolta hogy építsek inkább vpn -t. Most összejött és kb. egy hete működik. Budapest és Nógrád megye között, UPC és (talán)T-izé.
Ráadásul nem is valami extra eszközökön, két WR1043ND között openvpn -el.
(itt is van keep alive opció amit be is kapcsoltam)

* Én egy indián vagyok. Minden indián hazudik.