Maswali matatu yanaamua hili, na matatu pekee. Je, mteja huunda ingizo la muunganisho katika mfumo wa uendeshaji linalodumu baada ya kuwasha upya? Je, hutoa mstari wa amri unaoweza kuchukua siri kutoka mahali pengine isipokuwa orodha yake ya hoja? Je, hitaji lake la utambulisho hulazimisha mtu kujibu ombi la kivinjari? Jibu kwa mpangilio huo na uchaguzi hauwi tena suala la ladha, kwa sababu kazi iliyopangwa inaweza kuwa bila kichwa kadiri jibu dhaifu zaidi kati ya matatu linaruhusu.

Oanisha mteja na tabaka tatu zinazoweza kuandikiwa script

Wasifu asili wa OS, CLI ya muuzaji, mteja wa GUI pekee na mteja wa SSO ya kivinjari huhitaji mbinu nne tofauti. Mbili za kwanza hustahimili kuwasha upya bila uangalizi, na kuwasha upya bila uangalizi ndilo lengo lote. Mbili zilizobaki huhitaji uamuzi wa muundo kabla ya kuhitaji script.

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

Njia ya kwanza: wasifu unamilikiwa tayari na mfumo wa uendeshaji

Hii ni njia ya bei nafuu zaidi na ile ambayo wengi huipuuza. Katika Windows rasdial "Office" huunganisha na rasdial "Office" /disconnect huifunga; rasphone -d "Office" huendesha ingizo hilo hilo kupitia kiolesura cha kupiga simu. macOS huorodhesha huduma zilizohifadhiwa kwa scutil --nc list na kuanzisha moja kwa scutil --nc start. Linux hukabidhi kazi kwa NetworkManager.

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

Violesura hivi hujua tu wasifu unaomilikiwa na OS, kwa hiyo haviwezi kuendesha mteja yeyote wa mtu wa tatu. Wasifu usipokuwepo, uunde mara moja na uache script iukague badala ya kuuunda upya kila uendeshaji. Fanya script kuwa idempotent: soma hali ya sasa, unganisha tu ukiwa umeondolewa, kisha jaribu jina la faragha ambalo kazi inahitaji kwa kweli.

Njia ya pili: muuzaji hutoa mstari wa amri

Baadhi ya wateja huonyesha mstari wa amri wa kutosha kufungwa: Cisco AnyConnect imekuwa na msaidizi wa muunganisho pekee kwa miaka, na OpenConnect huzungumza itifaki za AnyConnect, GlobalProtect na Pulse kutoka binari moja. Hitaji muhimu si orodha ya bendera bali ni wapi siri inatoka, kwa sababu neno la siri lililo kwenye orodha ya hoja yeyote anayeweza kuorodhesha michakato anaweza kulisoma.

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

FortiClient na baadhi ya miundo ya GlobalProtect hazina CLI inayotumika kabisa, na mteja wa jamii au mbadala wenye leseni ya muuzaji ni uamuzi wa ununuzi, si njia ya kukwepa. Katika CI, mpe akaunti ya huduma haki kwenye binari hiyo mahususi na si kwenye shell, ili hoja iliyodungwa isiwe amri ya root.

Njia ya tatu: uendeshaji wa GUI, na kwa nini ni ya mwisho

Wakati mteja rasmi hana kiolesura, script hubonyeza vitufe kupitia ujumbe wa dirisha au SendKeys. Hilo ni dhaifu kwa toleo na lugha, linaweza kuacha kikao kilichounganishwa nusu, na hushindwa kimya wakati kidirisha kinaonekana kwa lugha isiyo sahihi. Ukichagua njia hii, pin toleo la mteja, kisha thibitisha hali ya muunganisho iliyotokana, na uweke mpango wa akiba wa mwongozo ulioandikwa kando ya script.

Tahadhari hiyo hiyo inatumika kwa kukata muunganisho wa mteja kwa nguvu kwa kuua mchakato wake. Handaki inaweza kuishi zaidi ya mchakato, au msimamizi anaweza kuianzisha upya, kwa hiyo kuua-na-kuanzisha-upya pia si uwekaji upya unaotegemewa.

Kinachovunjika baada ya handaki kuinuka

Kupiga kwa mafanikio huthibitisha uthibitishaji tu na si kingine chochote. Jaribu rasilimali ambayo kazi ipo ili kuifikia, kwa itifaki yake yenyewe na muda mfupi, na utaje hatua katika ujumbe wa kushindwa. Wasifu, vyeti na vitambulisho vilivyohifadhiwa vinavyoonekana kwenye desktop yako vinaweza kuwa visivyoonekana kwa kikao cha huduma, kwa hiyo endesha kazi mara moja chini ya akaunti ya kipanga ratiba yenyewe kabla ya kuiamini.

Punguza majaribio ya kurudia. Mzunguko unaorudia vitambulisho vilivyokataliwa hufunga akaunti, na ombi la MFA haliwezi kujibiwa na kazi bila kichwa bila muundo wa usajili; majaribio ya script dhidi ya mtiririko wa SSO wa kivinjari huchoma majaribio tu. Pendelea mzigo wa VPN unaowasilishwa kwa MDM au wasifu wa usanidi kwa meli, ambapo jukwaa linamiliki mzunguko wa maisha wa vitambulisho, na uweke script kwa wateja ambao hawawezi kusimamiwa hivyo.

Andika msimbo wa kutoka na rasilimali ya kwanza iliyoshindwa, si ukweli kwamba script iliendesha. Mstari huo mmoja ndio unaobadilisha tahadhari ya kipanga ratiba kuwa utambuzi wa dakika tano.

Makala zinazohusiana