Indlela yokwenza ngokuzenzakalelayo ukungena kwi-VPN okulinda ikhodi yetokeni
Iklayenti le-VPN lomugqa wemiyalo elibuza kutheminali livimba iskripti emane kuphela iphasiwedi ngombhobho. Yenza lezi zivivinyo ezinhlanu ngaphambi kokusebenzisa i-expect.
Iskripti eqala iklayenti le-VPN lomhlinzeki ihlala ilenga ize iphelelwe yisikhathi, futhi ilogi ibonisa ukuthi iklayenti licela ikhodi yokuqinisekisa okungekho muntu oyibhalile. Iphasiwedi yayisinikeziwe, ngakho isiphetho esisobala ukuthi iphasiwedi ayilungile. Akunjalo. Isicelo sekhodi ingxoxo ehlukile esiteshini esihlukile, futhi iskripti yakho ayizange isivule.
Yenza lezi zivivinyo ezinhlanu ezingezansi ngokulandelana. Yima kowokuqala ohlulekayo, ngoba isinyathelo ngasinye esilandelayo sithatha ukuthi ezangaphambilini ziyasebenza.
Uvivinyo 1: ingabe iklayenti lifunda okokufaka okujwayelekile nhlobo?
Vivinya ngaphambi kokubhala noma yikuphi ukuzenzakalela: dlulisa imfihlo yamanga kuklayenti ngombhobho bese ubona ukuthi kwenzekani. Uma likhipha isicelo salo bese lilinda, alifundi umbhobho.
Amaklayenti amaningi avula idivayisi yetheminali ngqo, noma enqaba ukuthatha imfihlo emfuleni okungewona utheminali, ukuze umbhobho olahlekile ungeke ukwazi ukukhipha iphasiwedi. I-OpenVPN iwukuphela okubhaliwe, ngoba i---auth-user-pass ithatha indlela yefayela. Amaklayenti omhlinzeki acabanga ikhodi yesikhathi esisodwa ngokuvamile awanayo inketho efanayo, futhi isicelo sawo silinde itheminali iskripti yakho engazange iyinikeze.
Uvivinyo 2: ingabe inqubo yengane inetheminali?
i-pty yabela ingane itheminali, okuguqula izicelo zibe umphumela ofundekayo ongawuphendula ngokulandelana.
import pexpect
child = pexpect.spawn("openconnect vpn.example.net", encoding="utf-8", timeout=30)
child.expect("GROUP:")
child.sendline("staff")
child.expect("USERNAME:")
child.sendline("alice")
child.expect("PASSWORD:")
child.sendline(PASSWORD)
child.expect("Connected as", timeout=60)Imichilo yezicelo engenhla iyizibonelo; kopisha umbhalo oqondile okhipha iklayenti lakho, kuhlanganise noshintsho lwezinhlamvu nezimpawu zokubhala. Isicelo ngasinye sinesikhathi esimisiwe, futhi ingane evaliwe iphonsa okuhlukile esikhundleni sokubuyisela isimo, ngakho faka umkhakha bese uthatha ukuphela kwefayela njengokwehluleka. Qaphela lokho leli qembu elingakwenzi: ingane iyafa neskripti, ngoba i-pty akuyona indlela yokuhlukanisa futhi i-disown umyalo wangaphakathi we-shell ongakwazi ukufinyelela inqubo eyenziwe yiskripti yakho.
Uvivinyo 3: ingabe kukhona okokufaka okungasebenzisani okusekelwayo?
Ukuklwebha isikrini kuyaphuka lapho iklayenti lithuthukiswa, ngakho qala ngokufuna inketho ebhaliwe.
Hlola umphumela wosizo ukuthi unayo inketho yetokeni noma yekhodi yesikhathi esisodwa, futhi uhlole ukuthi insizakalo iyayamukela yini ikhodi efakwe kunkambu yephasiwedi. Lapho iklayenti lifunda ifayela lobufakazi, linikeze ifayela esikhundleni sesicelo:
openvpn --config office.ovpn --auth-user-pass <(printf "%s\n%s\n" "$USER_NAME" "$PASSWORD")Ukushintshwa kwenqubo kunikeza iklayenti indlela efundekayo ezinhlelweni ezinikeza i-/dev/fd. Imfihlo iseyimfihlo ngokombono weklayenti, ngakho yigcine kude namalogo, umlando we-shell kanye nohlu lwezinqubo. Uma iklayenti lenqaba i-/dev/fd noma livula indlela yobufakazi ngaphezu kokanye, bhala ifayela langempela elinezimvume eziqinile bese ulisusa kuyo leyoskripti.
Uvivinyo 4: ingabe ithaneli lizophila isikhathi eside kuneskripti?
Ngokuzenzakalelayo ithaneli liyafa nomzali walo, okuphambene nalokho okudingwa iskripti yokuqalisa.
i-disown -h isiza kuphela uma uqale iklayenti njengomsebenzi we-shell, ngoba ihlela ithebula lemisebenzi yaleyo shell futhi ayikwazi ukufinyelela inqubo eyaqalwa yiskripti yakho nge-pty. Umphathi wensizakalo uyikhaya elingcono kukho konke okudinga ukuxhuma kabusha ngaphandle kokugadwa, ngoba uqala kabusha iklayenti futhi urekhoda ukuthi lifeleni. Noma kungakanani, lindela ikhodi entsha ngemva kokuxhuma kabusha ngakunye: itokeni yesikhathi esisodwa isetshenziswa ekuqinisekiseni kokuqala okuphumelelayo.
Qaphela okwenziwa yi-sudo ngokulandelana. Isicelo sephasiwedi se-sudo akusona isicelo se-VPN, futhi ukuphendula ngayo ngephasiwedi ye-VPN iyona ndlela evame kakhulu yokuthi ukulandelana kwezinto ezilindelekile okuyikho kwehluleke.
Uvivinyo 5: ingabe ikhodi yomuntu kufanele ibe seskriptini?
Lona uwukuvivinyo abantu abakweqi. Itokeni ingeyomuntu, kanti ithaneli okufanele likhuphuke ngokohlelo lingeyomshini.
Uma umsebenzi kufanele uxhume kabusha ngaphandle kokugadwa, buza ukuthi isitifiketi somshini noma i-akhawunti yensizakalo kungathatha isikhundla sokungena okusebenzisanayo. Ukwenza ikhodi yesikhathi esisodwa yomuntu ibe nguzenzakalo kuguqula isici sesibili sibe imfihlo egciniwe, okuwushintsho lwenqubomgomo hhayi ukunethezeka kweskripti. Lapho insizakalo isekela kokubili, khetha ubufakazi obuhambisana nendlela umsebenzi ogijima ngayo ngempela. Bhala impendulo phansi, ngoba umuntu olandelayo uzobuza ukuthi kungani iskripti iphethe itokeni.
Indlela iskripti esebenzayo ebukeka ngayo
Iskripti ikhipha isinyathelo eyasifinyelela, hhayi imfihlo, futhi iphuma ngekhodi engeyona uziro kukho konke ukulindela okuhlulekile.
Yivivinya ngokuyephula ngamabomu: iphasiwedi engeyona, iqembu elingelona, itokeni ephelelwe yisikhathi. Ukwehluleka ngakunye kufanele kume esinyathelweni esiqanjwe ngegama esikhundleni sokulenga. Bese uyisebenzisa kanye ngokumelene nensizakalo yangempela futhi hlola ithaneli ngaphandle kweskripti, hhayi ngaphakathi.