Rydych yn gorffen anogwr MFA, mae'r twnnel yn codi, ac mae cau'r derfynell yn tynnu'r cysylltiad i lawr gyda hi. Problem goruchwylio yw hon, nid problem dilysu, ac mae OpenConnect eisoes yn cynnwys y switsh sy'n ei datrys. Y trwsgl yw gadael i'r cleient fforchio i'r cefndir ar ôl i'r cychwyn ddod i ben, pan fo'r rhan ryngweithiol wir drosodd. Dyma gyfres o wiriadau: ewch drwyddynt yn eu trefn a stopiwch ar yr un cyntaf nad yw'n dal ar gyfer eich porth.

Cadarnhewch beth mae'r porth yn ei ofyn wrth fewngofnodi

Cyn i chi deipio gorchymyn, nodwch lwybr y manylion dilysu y mae'r defnyddio yn ei orfodi. Dim ond tystysgrif, cyfrinair ynghyd â thocyn, a thaith crwydr drwy borwr trwy ddarparwr SAML sy'n ymddwyn yn wahanol i'w gilydd, ac ni all y modd cefndir hepgor yr un ohonynt. Mae'r opsiwn yn newid beth sy'n digwydd ar ôl y cychwyn, byth beth sy'n digwydd yn ystod hynny.

Y datrysiad temtasiwn yw awtomeiddio'r anogwr. Mae crwynyn sy'n teipio ateb sefydlog pan fydd yn adnabod anogwr cyfrinair yn torri'r eiliad y bydd y porth yn gofyn am god untro, ac mae'n gadael manylyn dilysu mewn ffeil y gall cyfrifon eraill ei darllen. Os oes rhaid i berson gymeradwyo'r sesiwn, cadwch y person yn y ddolen.

Rhedwch y sesiwn gyntaf yn y blaendir a darllenwch yr allbwn

Cysylltwch unwaith yn normal a gadewch i'r cyfan o'r ysgwyd llaw argraffu. Nodwch y protocol a ddefnyddir, llwybr y dystysgrif neu'r tocyn, cyfeiriad y twnnel a roddir gan y gweinydd, a phob rhybudd a roddir cyn derbyn y cysylltiad. Eich llinell sylfaen yw'r trawsgrifiad hwnnw, a dyma'r unig ffordd rad i wahaniaethu rhwng problem cleient a newid porth yn ddiweddarach. Cadwch ef y tu allan i fferb y derfynell.

Yna ailadroddwch yr un alwad gyda modd cefndir a ffeil PID wedi'i hychwanegu, er enghraifft openconnect --background --pid-file /run/openconnect.pid vpn.example.net, gan gadw'r protocol a'r opsiynau dilysu y mae eich porth yn eu gofyn ar yr un llinell. Mae llawlyfr OpenConnect yn disgrifio'r opsiwn hwnnw fel parhau yn y cefndir ar ôl i'r cychwyn gwblhau, a dyna'n union pam mae'n rhaid i'r cyfnod rhyngweithiol fod drosodd gyntaf.

Gwnewch y broses sy'n rhedeg yn hawdd ei darganfod a'i hatal

Nid yw ffeil PID yn dystiolaeth ond pan fo'n cyfateb i broses fyw. Rhowch hi mewn cyfeiriadur y mae'r cyfrif gwasanaeth yn berchen arno, a chymharwch y rhif a gofnodwyd â'r tabl prosesau cyn anfon unrhyw signal. Mae ailgychwyn a chwymp yn gadael y ffeil ar ôl, a ffeil hen yw'r rheswm arferol dros i sgript atal adrodd llwyddiant tra bo'r twnnel yn dal i godi. Triniwch y gwiriad fel rhan o'r weithdrefn atal, nid fel cam dewisol.

Anfonwch signal at y PID a wiriwyd, yna cadarnhewch fod rhyngwyneb y twnnel wedi diflannu mewn gwirionedd yn hytrach na dibynnu ar y statws ymadael. Os oes angen braint uchel ar y cleient i ffurfweddu'r rhyngwyneb, rhaid i'r signal ddod o gyfrif y caniateir iddo ei anfon.

Peidiwch â phennu modd cefndir o dan oruchwyliwr

Mae systemd a goruchwylwyr tebyg yn disgwyl perchenogi'r broses a lansiwyd ganddynt, a dyna pam mae cleient sy'n fforchio i ffwrdd yn eu drysu. Mae'r goruchwyliwr yn gweld lansiwr yn gadael tra bo'r cysylltiad go iawn yn byw ymlaen, felly mae rhesymeg ailgychwyn, adrodd statws ac amserau atal i gyd yn disgrifio rhywbeth nad yw'n wir mwyach. Ysgrifennwch yr uned yn y trefniant blaendir a gefnogir a gadewch i'r goruchwyliwr wneud gwaith y daemon.

Cadwch --background ar gyfer sesiynau y mae person yn eu dechrau ac yna'n cerdded i ffwrdd. Os mai'r gofyniad yw twnnel sy'n bodoli cyn i unrhyw un fewngofnodi, y darn coll yw hunaniaeth anryngweithiol a gymeradwywyd ynghyd â chynllun i'w hadnewyddu, ac nid oes unrhyw fflag llinell orchymyn yn darparu'r naill na'r llall. Mae ychwanegu'r fflag at sgript cychwyn yn cynhyrchu twnnel sy'n methu'n dawel ar y manylyn dilysu cyntaf sydd wedi dod i ben.

Triniwch gwci sesiwn fel manylyn dilysu

Mae OpenConnect yn dogfennu cyfnod dilysu ar wahân trwy --authenticate, a gellir trosglwyddo'r deunydd canlyniadol yn ôl gyda --cookie-on-stdin. Mae'r pâr hwnnw'n bodoli ar gyfer gwaith integreiddio, ac mae'r hyn y mae'n ei gynhyrchu mor sensitif â'r cyfrinair a'i creodd.

Cadwch y gwerth allan o hanes y plisgyn, allan o logiau, ac allan o unrhyw docyn a agorwch. Rhaid i sgript trosglwyddo hefyd gadw'r wybodaeth pen terfyn a wiriwyd a gafodd y cleient ochr yn ochr â'r cwci; ei cholli hi a gall rhediad diweddarach gysylltu â gwesteiwr na wnaethoch chi erioed ei ddilysu, sy'n waeth na chysylltiad sy'n methu'n syml.

Ewch drwy'r rhestr cyn i chi gau'r derfynell

Dylai pedwar peth fod yn wir: gorffennodd y mewngofnodi rhyngweithiol yn y blaendir, mae'r ffeil PID yn cyfeirio at broses a wiriwyd gennych, mae cwestiwn y goruchwyliwr wedi'i setlo un ffordd neu'r llall, ac mae gan y cwci gynllun storio nad yw'n ffeil testun plaen. Pan fo'r pedwar yn dal, mae cerdded i ffwrdd o'r derfynell yn ddiogel ac mae'r twnnel yn parhau i redeg.

Os bydd un yn methu, trwsiwch yr eitem honno cyn cyffwrdd y lleill, oherwydd ni all y gwiriadau sy'n weddill ei iawnhau. Cadwch drawsgrifiad blaendir eich rhediad cyntaf hefyd: y tro nesaf y bydd y twnnel yn disgyn heb rybudd, y llinell sylfaen honno sy'n gwahanu newid ar ochr y porth oddi wrth un ar ochr y cleient.

Erthyglau cysylltiedig