Skripti inaisha na sifuri, handaki inaonekana, na uendeshaji unaofuata unakataliwa kabla hata ya kuomba nenosiri. Au amri hiyo hiyo inafanya kazi kwenye terminal na inashindwa kutoka kazi iliyopangwa na hitilafu «tukio halijapatikana» ambayo haitaji chochote chenye manufaa. Zote mbili ni mazungumzo ya ingizo la kawaida ya mteja wa AnyConnect yanayokwenda kombo, si hitilafu ya mtandao. Chukulia kuingia kama swali na jibu lililoandikwa na kushindwa kunakuwa kunakotabirika na kidogo.

Kwa nini amri hiyo hiyo inashindwa ndani ya skripti

Mteja husoma majibu yake kutoka ingizo la kawaida, mstari mmoja kwa kila kidokezo, kwa mpangilio ambao lango huyaomba. Kitu chochote kinachobadilisha idadi ya vidokezo, kama bango jipya, kichaguzi cha kikundi au changamoto ya sababu ya pili, huhamisha kila jibu la baadaye kwa mstari mmoja. Kisha mteja husoma jina la mtumiaji mahali palipotarajia nenosiri na kuripoti kushindwa kusikoonyesha yoyote kati ya hayo mawili.

Nenosiri lenye alama ya mshangao huongeza kushindwa kwa pili kwa utulivu zaidi. Ndani ya alama za kunukuu mbili ganda hupanua mapema kabla mteja kuona chochote.

Weka mzigo ndani ya alama za kunukuu moja na herufi husafiri salama. Hilo ndilo suluhisho lote, na hufafanua darasa zima la ripoti ambapo kitambulisho kilekile hufanya kazi kinapochapwa na kushindwa kinapohifadhiwa. Angalia ganda lilifanya nini kabla ya kuangalia lango: chapisha mzigo kupitia kifuniko kinachoonyesha baiti kamili na uhesabu mistari. Mengi ya uchunguzi huu huishia hapo.

Andika majibu kwa mpangilio ambao mteja huomba

Endesha mteja kwa mwingiliano mara moja na uandike kila kidokezo kwa mpangilio. Kichaguzi cha kikundi huonekana tu wakati lango linachapisha wasifu kadhaa, na kidokezo cha bango huonekana tu wakati mmoja umesanidiwa. Faili ya majibu lazima ilingane na lango ambalo unaelekea kweli, si lile la nyaraka.

Kisha jenga faili kwa mfululizo huo kamili, jibu moja kwa mstari. Kielekezi cha kikundi ni nambari ambayo mteja huorodhesha, si nafasi ya wasifu katika hati. Kubali bango tu ikiwa lango lako linatuma moja, na uongeze mstari kwa kila swali la ziada ambalo lango hilo linajulikana kuliuliza. Anzisha mteja kwa bendera isiyo ya mwingiliano ili atumie faili badala ya kusubiri terminal.

connect vpn.lab.example
0
username
password
y
exit
/opt/cisco/anyconnect/bin/vpn -s < anyconnect.txt

Mfululizo huo huo unaweza kuja kupitia bomba unapopendelea kutoweka faili kwenye diski. Sheria za kunukuu bado huamua kama itaendelea kuwa hai.

Weka kitambulisho nje ya orodha ya michakato

Hoja kwenye mstari wa amri inaweza kusomwa na kila mtumiaji wa ndani katika maisha yote ya mchakato, kwa hivyo nenosiri huwa kwenye faili au bomba na kamwe si kwenye orodha ya hoja. Fanya faili hilo lisomwe tu na akaunti inayoendesha skripti, na ufute linapokamilika kazi. Kwenye macOS programu hiyo kwa kawaida iko kwenye njia ile ile kama Linux, lakini thibitisha eneo lililosakinishwa badala ya kudhani. Kifuniko kinachojaribu njia zote mbili ni kifupi kuliko ripoti ya tukio.

printf 'username\npassword\ny\n' | /opt/cisco/anyconnect/bin/vpn -s connect vpn.lab.example

Usiruhusu skripti kujaribu tena milele pia. Bango lililobadilika au nenosiri lililoisha muda wake usiku hubadilisha faili ya majibu thabiti kuwa mzunguko wa kujaribu tena, na mzunguko huo ndio hufunga akaunti.

Shindwa mara moja, chapisha maandishi ya hitilafu ya mteja mwenyewe, na utoke. Kazi iliyopangwa inahitaji mapitio yale yale ya utambulisho na upatikanaji wa kitambulisho kama kazi nyingine yoyote isiyosimamiwa, kwa sababu kitambulisho kinachoisha kimyakimya hakiwezi kutofautishwa na hitilafu ya saa tatu asubuhi.

Thibitisha kipindi kabla ya kuamini msimbo wa kutoka

Hali iliyounganishwa huthibitisha kuwa handaki ipo na hakuna zaidi ya hapo. Jaribu rasilimali moja ambayo lazima ifikiwe kupitia hiyo kabla skripti kuanza kazi halisi, na chukulia kushindwa hapo kama hitilafu tofauti na kuingia kushindwa. Vinginevyo utajaribu tena muunganisho mzuri kabisa ambao hauwezi kufikia lengo lake.

Uliza mteja hali yake kabla na baada ya kukatwa, kwa sababu kipindi cha zamani kinaweza kukataa muunganisho unaofuata wakati skripti yako inaripoti mafanikio.

/opt/cisco/anyconnect/bin/vpn state
/opt/cisco/anyconnect/bin/vpn disconnect

Rekodi matokeo ya hali karibu na msimbo wa kutoka, kwa sababu msimbo peke yake hauwezi kutenganisha kuingia kulikokataliwa na kipindi ambacho hakikufungwa kamwe. Lango linapodai sababu ya pili au idhini ya mwingiliano, acha kuandika hatua hiyo kama skripti na utumie utaratibu unaoungwa mkono na mteja badala yake. Faili ya majibu thabiti ni urahisi kwa kitambulisho unachodhibiti, si njia ya kukwepa hatua ya uthibitishaji usiyoidhibiti. Weka wigo mwembamba hivyo na hii inabaki kuwa skripti fupi.

Wakati faili ya majibu thabiti ni chombo kisichofaa

Sababu ya pili au kidokezo cha idhini hushinda muundo huu kabisa, na huo ni mpaka wa ubunifu, si kitendawili cha skripti. Tumia utaratibu wowote ambao mteja anauunga mkono kwa hatua hiyo badala ya kukisia jibu mapema. Faili thabiti hufanya kazi tu kwa vitambulisho vinavyobaki sawa kati ya uendeshaji.

Mikondo miwili ya zamani ya vitambulisho pia huchanganywa na AnyConnect. Wasifu wa vpnc huzungumza itifaki nyingine, na unataka jina la kikundi kama kitambulisho cha IPSec, kisha siri ya kikundi inayoshirikiwa, kisha maelezo ya akaunti yako mwenyewe.

Kwa kuwa itifaki zinatofautiana, vpnc haiwezi kufikia lango linalochapisha wasifu wa AnyConnect pekee, na mbadala wa kawaida wa wazi kwa huduma hiyo ni openconnect na itifaki yake ya anyconnect imechaguliwa. Faili ya pcf ni ya mteja wa zamani wa Cisco, na ingawa mwenyeji, jina la kikundi na nenosiri la kikundi vinaweza kuingizwa tena kwenye mteja anayezungumza Cisco IPsec bado, faili haihamishi kati ya wateja. Bandari isiyo ya kawaida au hali ya handaki isiyo ya kawaida kwa kawaida hupotea katika uhamisho huo. Amua itifaki gani lango linatoa kabla ya kuchagua chombo.

Makala zinazohusiana