Il-biċċa l-kbira tal-pariri dwar kif iżżomm sessjoni SSH ħajja jieqfu fuq «żid ServerAliveInterval 30» u jħallu barra l-partijiet utli. Il-kelma ewlenija hija tajmer fuq in-naħa tal-klijent li jinxteħet biss meta l-kanal ikun sieket, jgħodd provi bla tweġiba minflok sekondi, u jgħix f'fajl fejn tirbaħ l-ewwel valur li taqbel. Żbalja f'dawn it-tliet proprjetajiet u sessjoni VPN b'saħħitha xorta taqa', filwaqt li waħda mejta tibqa' mdendla.

Iż-żewġ direzzjonijiet jappartjenu lil daemons differenti

ServerAliveInterval jinqara mill-klijent ssh tiegħek. ClientAliveInterval jinqara mis-sshd fuq in-naħa l-oħra u jipprova d-direzzjoni opposta, mis-server għall-klijent. Mhumiex alias u ma jikkooperawx, għalhekk l-issettjar ta' wieħed m'għandu l-ebda effett fuq l-imġiba tat-tarf l-ieħor. Li tħallathom huwa r-raġuni tas-soltu għaliex tiswija tidher li taħdem fuq host u mhux fuq dak li jmiss.

It-tnejn jaċċettaw iż-żero. Fiż-żero l-klijent ma jibgħat xejn xejn, u fuq in-naħa tas-server ClientAliveCountMax ta' żero jiddiżattiva l-iskonnessjoni li altrimenti kienet tiġi wara l-kontrolli bla tweġiba.

X'jipprova prova, u x'ma jipprovax

Wara li jgħaddi l-intervall konfigurat mingħajr data li tasal mis-server, il-klijent jibgħat talba żgħira mill-kanal encrypted eżistenti u jistenna tweġiba. ServerAliveCountMax jistabbilixxi kemm minnhom jistgħu jibqgħu bla tweġiba qabel ma tiġi mħassra s-sessjoni. B'intervall ta' 60 u għadd ta' 3 il-klijent jagħti l-arja wara madwar tliet minuti ta' silenzju, u dak in-numru hija proprjetà tal-konfigurazzjoni tiegħek, mhux standard tan-netwerk. Ħalli l-intervall fil-valur awtomatiku 0 u l-ebda prova ma tintbagħat qatt, u għalhekk klijent standard jista' joqgħod fuq konnessjoni mejta bla tarf.

Billi l-iskambju jsir ġewwa t-trasport SSH, tweġiba tipprova li l-proċess SSH tan-naħa l-oħra għadu jaqra u jikteb. Ma tgħid xejn dwar il-programm li bdejt f'dik is-sessjoni: klijent tad-database, port mgħoddi 'l quddiem jew skript li dam ħafna jistgħu jkunu mblukkati waqt li t-trasport iwieġeb bil-ferħ lill-provi.

TCPKeepAlive huwa mekkaniżmu separat saff wieħed aktar 'l isfel. Il-kernel jimmaniġġjah, mhuwiex encrypted, u tarf li d-daemon SSH tiegħu huwa mblukkat xorta jista' jissodisfah. Għalhekk il-prova fil-livell SSH hija s-sinjal l-aktar sinifikanti meta tħares lejn is-sessjoni u mhux is-socket.

L-ordni tiddeċiedi liema valur jibqa' ħaj

OpenSSH japplika l-ewwel valur li jikseb għal kull parametru, għalhekk blokka Host speċifika trid tidher qabel kwalunkwe blokka usa' li wkoll taqbel. Qiegħed il-valuri awtomatiċi bil-wildcards fil-qiegħ tal-fajl, mhux fil-quċċata, u ftakar li blokka Match aktar 'l isfel ma tistax tannulla valur li diġà ġie stabbilit. Ir-referenza tal-konfigurazzjoni tal-klijent OpenSSH tgħid ir-regola tal-ewwel valur direttament, u jiswa li taqraha darba qabel ma terġa' torganizza konfigurazzjoni kondiviża.

L-għażliet tal-linja tal-kmand jirbħu l-fajl, li jagħmel esperiment temporanju rħis:

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

Biex tara x'iddetermina l-klijent tassew u mhux x'taħseb li ktibt, itolbu joħroġ il-konfigurazzjoni effettiva. L-output fih il-valuri magħquda għal dak l-isem tal-host u hija l-aktar triq mgħaġġla biex taqbad blokka preċedenti mitlufa:

ssh -G office-shell | grep -i alive

X'jagħmlu l-keepalives minn tunnel

Traffiku perjodiku ma jħallix mappa ta' NAT jew firewall bl-istat tiskadi, li hija benefiċċju reali fuq VPN li l-gateway tagħha tarmi flussi inattivi wara ftit minuti. Provi li jaslu kull 60 sekonda jġeddu dik il-mappa mingħajr ma jġorru xi data tal-applikazzjoni.

Ma jistgħux jerġgħu jibnu triq li spiċċat. Meta l-interface tat-tunnel tisparixxi l-provi jonqsu bħal kollox ieħor, u s-sessjoni tintemm ladarba l-għadd jiġi eżawrit. Is-sejba tal-ħajja u l-irkupru tat-triq huma problemi differenti, u biss tal-ewwel jista' jiġi konfigurat f'ssh_config. Dak li l-intervall u l-għadd tassew jixtrulek huwa kemm il-klijent jinduna malajr, u dan huwa l-parti li l-utent jesperjenza bħala waqfa.

Konnessjonijiet multiplessati jżidu tingiża. Meta ControlMaster ikun fil-logħba l-provi jappartjenu lill-konnessjoni ewlenija, u sessjoni ġdida fuq ewlenija eżistenti tirret dak li dik l-ewlenija nnegozjat. Jekk l-ewlenija tal-mux hija mblukkata, il-ftuħ ta' tieqa oħra mhux se jerġa' jittestja t-triq.

Il-konferma tal-issettjar mill-bidu sat-tmiem

Fuq is-server, oħroġ il-konfigurazzjoni effettiva tad-daemon minflok ma taqra l-fajl u taħseb liema include rebaħ:

sshd -T | grep -i clientalive

Imbagħad osserva sessjoni vera bl-output tad-debug mixgħul. Il-klijent jipprintja linja ta' timeout meta l-għadd jispiċċa, u t-timbri tal-ħin madwarha juru jekk is-silenzju kienx kontinwu jew il-provi qatt ma ntbagħtu. Sessjoni li tmut bla traffiku ta' provi ġeneralment iżżomm il-kelma ewlenija fi blokka li qatt ma qabblet.

Jiswa li żżid żewġ kontrolli għal kull host li tilħaq biss permezz ta' tunnel: ikkonferma li l-intervall solvut huwa dak li kellhek fil-ħsieb, u kkonferma li dak l-intervall immultiplikat bl-għadd huwa iqsar mit-timeout tal-inattività fuq il-gateway tal-VPN. Meta t-tieni numru huwa akbar, il-gateway tarmi l-fluss l-ewwel bil-kwiet u l-prova SSH qatt ma jkollha ċ-ċans tirrapporta xejn.

Artikli relatati