Mae tri chwestiwn yn penderfynu hyn, a thri yn unig. A yw'r cleient yn creu cofnod cysylltiad yn y system weithredu sy'n goroesi ailgychwyn? A yw'n cynnig llinell orchymyn a all gymryd cyfrinach o rywbeth heblaw ei restr dadleuon? A yw ei ofyniad hunaniaeth yn gorfodi dyn i ateb anogwr porwr? Atebwch yn y drefn honno ac mae'r dewis yn peidio â bod yn fater o chwaeth, oherwydd gall tasg a drefnwyd fod mor ddi-ben â'r hyn y mae'r gwannaf o'r tri ateb yn ei ganiatáu.

Cyfatebwch y cleient i'r tri haen y gellir eu sgriptio

Mae proffil brodorol y system weithredu, CLI gwerthwr, cleient GUI yn unig a chleient SSO porwr angen pedair dull gwahanol. Mae'r ddau gyntaf yn goroesi ailgychwyn heb oruchwyliaeth, ac ailgychwyn heb oruchwyliaeth yw'r holl bwynt. Mae'r ddau arall angen penderfyniad dylunio cyn iddynt angen sgript.

What the client exposesWhat to scriptWhat still bites
OS-native connection entryrasdial, scutil --nc, nmcliTunnel is up before DNS and routes settle
Vendor CLI reading stdinCLI wrapped by the scheduler, secret from the credential storePrompt text changes between releases
GUI onlyPinned version plus a state assertionLocale and DPI break the click targets

Llwybr un: mae'r system weithredu eisoes yn berchen ar y proffil

Dyma'r llwybr rhataf a'r un y mae'r rhan fwyaf o bobl yn ei anwybyddu. Ar Windows mae rasdial "Office" yn cysylltu ac mae rasdial "Office" /disconnect yn ei gau; mae rasphone -d "Office" yn gyrru'r un cofnod drwy'r rhyngwyneb deialu. Mae macOS yn rhestru gwasanaethau a gedwir gyda scutil --nc list ac yn cychwyn un gyda scutil --nc start. Mae Linux yn rhoi'r gwaith i NetworkManager.

rasdial "Office" user *
scutil --nc start "Office"
nmcli connection up id Office
nmcli -t -f GENERAL.STATE connection show Office

Dim ond proffiliau sy'n eiddo i'r system weithredu y mae'r rhyngwynebau hyn yn eu hadnabod, felly ni allant yrru cleient trydydd parti mympwyol. Pan fo'r proffil ar goll, crëwch ef unwaith a gadewch i'r sgript ei wirio yn lle ei ail-greu ar bob rhediad. Gwnewch y sgript yn idempotent: darllenwch y cyflwr presennol, cysylltwch yn unig pan fo'n ddatgysylltiedig, ac yna profwch yr enw preifat sydd ei angen ar y dasg mewn gwirionedd.

Llwybr dau: mae'r gwerthwr yn cynnig llinell orchymyn

Mae rhai cleientiaid yn dangos digon o linell orchymyn i'w lapio: mae Cisco AnyConnect wedi cael helpwr cysylltu'n unig ers blynyddoedd, ac mae OpenConnect yn siarad protocolau AnyConnect, GlobalProtect a Pulse o un deuaidd. Y gofyniad sy'n bwysig yw nid y rhestr baneri ond o ble mae'r gyfrinach yn dod, oherwydd gall unrhyw un sy'n gallu rhestru prosesau ddarllen cyfrinair yn y rhestr dadleuon.

printf '%s\n' "$VPN_PASS" | openconnect --protocol=anyconnect \
  --user "$VPN_USER" --passwd-on-stdin vpn.example.com

Nid oes gan FortiClient a rhai adeilediadau GlobalProtect CLI a gefnogir o gwbl, ac mae cleient cymunedol neu ddisodliad trwyddedig gan y gwerthwr yn benderfyniad caffael, nid yn ddatrysiad. Yn CI, rhowch hawliau cyfrif y gwasanaeth ar y deuaidd hwnnw'n union, nid ar blisgyn, fel na all dadl a chwanegwyd ddod yn orchymyn root.

Llwybr tri: awtomeiddio GUI, a pham ei fod yn olaf

Pan nad oes rhyngwyneb gan y cleient swyddogol, mae sgriptiau'n clicio botymau drwy negeseuon ffenestr neu SendKeys. Mae hynny'n fregus o ran fersiwn ac iaith, gall adael sesiwn hanner-gysylltiedig, ac mae'n methu'n dawel pan fo deialog yn ymddangos yn yr iaith anghywir. Os cymerwch y llwybr hwn, pinwch fersiwn y cleient, gwiriwch gyflwr y cysylltiad sy'n deillio wedyn, a chadwch gynllun wrth gefn â llaw wedi'i ddogfennu wrth ymyl y sgript.

Mae'r un rhybudd yn berthnasol i ddatgysylltu cleient yn rymus drwy ladd ei broses. Gall y twnnel oroesi'r broses, neu gall goruchwyliwr ei ailgychwyn, felly nid yw lladd-ac-ailgychwyn yn ailosodiad dibynadwy chwaith.

Beth sy'n torri ar ôl i'r twnnel godi

Dim ond dilysu y mae deialu llwyddiannus yn ei brofi, a dim arall. Profwch yr adnodd y mae'r dasg yn bodoli i'w gyrraedd, gyda'i brotocol ei hun a chyfnod aros byr, ac enwch y cam yn y neges fethiant. Gall proffiliau, tystysgrifau a chrediadau a gedwir yn weladwy ar eich penbwrdd fod yn anweladwy i sesiwn y gwasanaeth, felly rhedwch y dasg unwaith o dan gyfrif y trefnydd ei hun cyn ymddiried ynddi.

Cyfyngwch yr ailgeisiadau. Mae dolen sy'n ailadrodd crediad a wrthodwyd yn cloi cyfrifon, ac ni all tasg ddi-ben ateb anogwr MFA heb gynllun cofrestru; mae ailgeisiau sgriptiedig yn erbyn llif SSO porwr yn llosgi ymdrechion yn unig. Dewiswch lwyth VPN a ddanfonir gan MDM neu broffil ffurfweddu ar gyfer fflyd, lle mae'r platfform yn berchen ar gylch bywyd y crediadau, a chadwch sgriptiau ar gyfer y cleientiaid na ellir eu rheoli felly.

Cofnodwch y cod gadael a'r adnodd cyntaf sy'n methu, nid y ffaith bod y sgript wedi rhedeg. Y llinell unigol honno sy'n troi rhybudd trefnydd yn ddiagnosis pum munud.

Erthyglau cysylltiedig