Jo meitsje de MFA-fraach ôf, de tunnel komt op, en it sluten fan 'e terminal nimt de ferbining mei. Dat is in tafersjochprobleem, gjin autentikaasjeprobleem, en OpenConnect leveret al de skeakel dy't it oplost. De oplossing is de klant nei de eftergrûn te fertakken as it opstarten klear is, as it ynteraktive part echt foarby is. Hjir folget in searje kontrôles: wurkje se yn oarder ôf en stop by de earste dy't net jildt foar jo gateway.

Befêstigje wat de gateway by oanmelding easket

Foardat jo in kommando typte, skriuw it oanmeldingspaad op dat de ynstallaasje ôftwingt. Allinnich sertifikaat, wachtwurd plus token, en in browseromgong fia in SAML-provider gedrage har oars, en de eftergrûnmodus kin gjinien fan har oerslaan. De opsje feroaret wat der nei it opstarten bart, nea wat der ûnder it opstarten bart.

De ferlokking is de fraach te automatisearjen. In wrapper dy't in fêst antwurd typt as er in wachtwurdfraach werkenint, brekt op it stuit dat de gateway in ienmalige koade freget, en lit in oanmelding yn in bestân efter dat oare akkounts lêze kinne. As in persoan de sesje goedkarre moat, hâld de persoan yn 'e syklus.

Rin de earste sesje yn 'e foargrûn en lês de útfier

Ferbyn jo ien kear normaal en lit de hiele handshake printsje. Notearje it brûkte protokol, it sertifikaat- of tokenpaad, it tunneladres dat de server tawiist, en elke warskôging foar't de ferbining akseptearre wurdt. Dat transkript is jo basisline en de iennichste goedkeape manier om letter in klantprobleem fan in gatewayferoaring te ûnderskieden. Bewarje it bûten de buffer fan 'e terminal.

Werhelje dan deselde oprop mei eftergrûnmodus en in tafoege PID-bestân, bygelyks openconnect --background --pid-file /run/openconnect.pid vpn.example.net, en hâld it protokol en de autentikaasje-opsjes dy't jo gateway easket op deselde rigel. De OpenConnect-hantlieding beskriuwt dy opsje as fuortsetten op 'e eftergrûn nei it opstarten, en dêrom moat de ynteraktive faze earst klear wêze.

Meitsje it rinnende proses fynber en stopber

In PID-bestân is allinnich bewiis salang't it by in libbene proses past. Set it yn in map dy't it tsjinstakkount besit, en fergelykje it fêstleine nûmer mei de prosestabel foardat jo wat sinjaal jouwe. Werstarten en crashen litte it bestân efter, en in ferâldere bestân is de gewoane reden dat in stopskript sukses meldt wylst de tunnel noch rint. Sjoch de kontrôle as part fan 'e stopproseduere, net as in opsjonele stap.

Jou sinjaal oan de ferifiearre PID, en befêstigje dan dat de tunnelinterface echt ferdwûn is ynstee fan op 'e útgongstatus te fertrouwen. As de klant ferhege rjochten nedich hat om de interface te konfigurearjen, moat it sinjaal fan in akkount komme dat it stjoere mei.

Stapelje de eftergrûnmodus net ûnder in tafersjochhâlder

systemd en soartgelikense tafersjochhâlders ferwachtsje it proses te besitten dat se starten, dêrom ferbjusteret in klant dy't fuortfertakt har. De tafersjochhâlder sjocht in starter fuortgean wylst de echte ferbining libbet, dus werstartlogika, statusrapportaazje en stoptiidferrin beskriuwe eat dat net mear wier is. Skriuw de unit yn 'e stipe foargrûnopstelling en lit de tafersjochhâlder it daemonwurk dwaan.

Hâld --background foar sesjes dy't in persoan begjint en dan fuortgiet. As de eask in tunnel is dy't bestiet foar't immen oanmeldt, mist der in goedkard net-ynteraktyf identiteit plus in plan om dy te fernijen, en gjin kommandorigelflag jout ien fan beide. It flag tafoegje oan in opstartskript makket in tunnel dy't stil mislearret by de earste ferfallen oanmelding.

Sjoch de sesjekoekje as in oanmelding

OpenConnect dokumintearret in aparte autentikaasjefaze fia --authenticate, en it resultearjende materiaal kin weromjûn wurde mei --cookie-on-stdin. Dat pear bestiet foar yntegraasjewurk, en wat it produsearret is like gefoelich as it wachtwurd dat it makke.

Hâld de wearde bûten de shell-skiednis, bûten logs en bûten elk ticket dat jo iepenje. In oerdrachtskript moat ek de ferifiearre einpunt-ynformaasje bewarje dy't de klant mei de koekje krige; ferlies dy en in lettere run kin ferbine mei in host dy't jo nea autentisearre hawwe, wat slimmer is as in ferbining dy't gewoan mislearret.

Wurkje de list ôf foardat jo de terminal slute

Fjouwer dingen moatte wier wêze: de ynteraktive oanmelding einige yn 'e foargrûn, it PID-bestân wiist nei in proses dat jo ferifiearre hawwe, de tafersjochfraach is ien kant op beslein, en de koekje hat in opslachplan dat gjin gewoan tekstbestân is. As alle fjouwer jilde, is fuortgean fan 'e terminal feilich en bliuwt de tunnel rinne.

As ien fan har mislearret, reparearje dat item foardat jo de oaren oanreitsje, want de oerbleaune kontrôles kinne it net kompensearje. Bewarje ek it foargrûntranskript fan jo earste run: de folgjende kear dat de tunnel sûnder warskôging falt, is dy basisline wat in gatewayferoaring fan in klantferoaring skiedt.

Relatearre artikelen