Flest ráð um að halda SSH-tengingu lifandi enda á «bættu við ServerAliveInterval 30» og sleppa gagnlegu hlutunum. Lykilorðið er teljari á biðlarahlið sem fer aðeins af stað þegar rásin hefur verið hljóð, hann telur ósvöruð próf í stað sekúndna, og hann býr í skrá þar sem fyrsta samsvarandi gildið vinnur. Gerðu mistök í þessum þremur eiginleikum og heilbrigð VPN-lota fellur samt, á meðan dauð liggur í lausu.

Báðar áttirnar tilheyra mismunandi púkum

ServerAliveInterval er lesið af ssh-biðlaranum þínum. ClientAliveInterval er lesið af sshd hinum megin og prófar í hina áttina, frá þjóni til biðlara. Þau eru ekki samheiti og vinna ekki saman, svo stilling annars hefur engin áhrif á hegðun hins endans. Að rugla þeim saman er algengasta ástæðan fyrir því að lagfæring virðist virka á einum vélinni og ekki á þeirri næstu.

Bæði þola núll. Við núll sendir biðlarinn ekkert sem er, og á þjónahliðinni slökkvar ClientAliveCountMax á núlli á aftengingunni sem annars myndi fylgja ósvöruðum prófunum.

Hvað próf sannar og hvað ekki

Eftir að stillta bilið líður án þess að gögn berist frá þjóninum sendir biðlarinn litla beiðni um núverandi dulritaða rás og bíður svars. ServerAliveCountMax ákvarðar hversu mörg þeirra mega vera ósvarað áður en lotunni er rutt. Með bili 60 og tölu 3 gefst biðlarinn upp eftir um það bil þrjár mínútur af þögn, og það hlutfall er eiginleiki stillingarinnar þinnar, ekki netstaðall. Láttu bilið standa á sjálfgefnu gildinu 0 og ekkert próf er sent, sem er ástæðan fyrir því að venjulegur biðlari getur setið á dauðri tengingu endalaust.

Þar sem skiptin fara fram inni í SSH-flutningnum sannar svar að SSH-ferlið hinum megin les og skrifar enn. Það segir ekkert um forritið sem þú ræstir inni í lotunni: gagnagrunnsbiðlari, framsend höfn eða langt skrift getur verið fast þegar flutningurinn svarar prófunum með glöðu geði.

TCPKeepAlive er aðskilin aðferð einu lagi neðar. Kjarninn sér um hana, hún er ekki dulrituð, og hinn endinn sem hefur fastan SSH-púka getur samt fullnægt henni. Þess vegna er prófið á SSH-stigi merkingarmeira merki þegar þér er annt um lotuna frekar en sokkinn.

Röðin ræður því hvaða gildi lifir af

OpenSSH beitir fyrsta gildinu sem það fær fyrir hverja færibreytu, svo tiltekinn Host-blokk verður að koma á undan hvaða víðtækari blokk sem myndi líka passa. Setja sjálfgefin gildi með algildisstöfum neðst í skránna, ekki efst, og mundu að Match-blokk neðar getur ekki hnekkt gildi sem þegar er sett. OpenSSH-leiðarvísirinn um biðlarastillingu segir regluna um fyrsta gildi beint, og það er þess virði að lesa hana einu sinni áður en deildri stillingu er endurskipulagt.

Valkostir skipanalínunnar vinna á skránni, sem gerir tímabundna tilraun ódýra:

ssh -o ServerAliveInterval=15 -o ServerAliveCountMax=4 office-shell

Til að sjá hvað biðlarinn leysti í raun og veru, en ekki það sem þú heldur að þú hafir skrifað, biddu hann að henda út virku stillingunni. Úttakið inniheldur samkeyrðu gildin fyrir það hýsisheiti og er fljótlegasta leiðin til að grípa villan blokk fyrr:

ssh -G office-shell | grep -i alive

Hvað keepalive gera gegnum göng

Regluleg umferð kemur í veg fyrir að NAT- eða eldveggjarskrá með ástandi renni út, sem er raunverulegur ávinningur á VPN sem gáttin sleppir aðgerðarlausum flæðum eftir nokkrar mínútur. Próf sem berast á 60 sekúndna fresti endurnýja þá skráningu án þess að bera nokkur forritsgögn.

Þau geta ekki endurbyggt slóð sem er farin. Þegar göngutengið hverfur mistakast prófin eins og allt annað, og lotunni lýkur þegar talan er uppurin. Skynjun á lífi og endurheimt slóðar eru mismunandi vandamál, og aðeins hið fyrra er stillanlegt í ssh_config. Það sem bilið og talan kaupa þér í raun er hve fljótt biðlarinn tekur eftir því, og það er sá hluti sem notandinn upplifir sem stöðvun.

Margfölduð tenging bætir við fellingu. Þegar ControlMaster er í spilinu tilheyra prófin aðaltengingunni, og ný lota yfir núverandi aðal erfir það sem sú aðal samdi um. Ef mux-aðalið er fast, mun opnun annars glugga ekki prófa slóðina aftur.

Staðfesting stillingarinnar frá enda til enda

Á þjóninum, hentu út virkri stillingu púkans í stað þess að lesa skrána og giska á hvaða include vann:

sshd -T | grep -i clientalive

Fylgstu svo með raunverulegri lotu með villuleitarúttaki virku. Biðlarinn prentar tímamörk í línu þegar talan er uppurin, og tímasetningarnar í kring sýna hvort þögnin var samfelld eða prófin voru aldrei send. Lota sem deyr án nokkurrar prófsumferðar hefur yfirleitt lykilorðið í blokk sem passaði aldrei.

Tvær athuganir er þess virði að bæta við fyrir hvern vél sem þú nærð aðeins gegnum göng: staðfestu að leysta bilið sé það sem þú ætlaðir, og staðfestu að það bil margfaldað með tölunni sé styttra en aðgerðarleysistími á VPN-gáttinni. Þegar seinni talan er stærri sleppir gáttin flæðinu hljóðlega fyrst og SSH-prófið fær aldrei tækifæri til að tilkynna neitt.

Tengdir greinar