Skrifta sem ræsir VPN-biðlara frá söluaðila hangir þar til tímamörk renna út, og annállinn sýnir að biðlarinn biðji um staðfestingarkóða sem enginn sláði inn. Lykilorðið var gefið, svo augljós niðurstaðan er að lykilorðið sé rangt. Það er ekki. Kóðabeiðnin er sérstakt samtal á sérstakri rás, og skriftan þín opnaði hana aldrei.

Farðu í gegnum fimm athuganirnar hér að neðan í röð. Stoppaðu við þá fyrstu sem bregst, því hvert síðara skref gerir ráð fyrir að þær fyrri gildi.

Athugun 1: les biðlarinn yfirhöfuð staðalinntak?

Prófaðu áður en þú skrifar nokkra sjálfvirkni: pípaðu gervileyndarmáli inn í biðlarann og fylgstu með hvað gerist. Ef hann prentar beiðni sína og bíður síðan, er hann ekki að lesa pípuna.

Margir biðlarar opna skjáhermstækið beint, eða neita að taka leyndarmál úr straumi sem er ekki skjáhermir, svo villur pípa geti ekki lekið lykilorði. OpenVPN er skjalfesta undantekningin, því --auth-user-pass tekur slóð að skrá. Biðlarar söluaðila sem biðja um einnota kóða hafa venjulega engan samsvarandi valkost, og beiðni þeirra bíður eftir skjáhermi sem skriftan þín bauð aldrei upp á.

Athugun 2: hefur barnferlið skjáhermi?

pty úthlutar skjáhermi fyrir barnið, sem breytir beiðnum í læsilegt úttak sem þú getur svarað í röð.

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)

Beiðnastrengirnir hér að ofan eru til skýringar; afritaðu nákvæman texta sem biðlarinn þinn prentar, þar á meðal há- og lágstafi og greinarmerki. Sérhver bið hefur tímamörk, og lokað barn kastar undantekningu í stað þess að skila stöðu, svo vefðu röðina inn og meðhöndla enda skrár sem mistök. Taktu eftir því sem þessi blokk gerir ekki: barnið deyr með skriftunni, því pty er ekki aftengingaraðferð og disown er innbyggð skipun skeljarinnar sem nær ekki ferli sem skriftan þín bjó til.

Athugun 3: er studd ógagnvirk inntak?

Skjáskrap brotnar við uppfærslur biðlara, svo leitaðu fyrst að skjalfestum valkosti.

Skoðaðu hjálparúttakið eftir tákn- eða einnota kóðavalkosti, og skoðaðu hvort þjónustan samþykki kóðann sem bætt er við lykilorðsreitinn. Þar sem biðlarinn les skilríkjaskrá, gefðu honum skrána í stað beiðni:

openvpn --config office.ovpn --auth-user-pass <(printf "%s\n%s\n" "$USER_NAME" "$PASSWORD")

Ferlisstaðganga gefur biðlaranum læsilega slóð á kerfum sem bjóða /dev/fd. Leyndarmálið er áfram leyndarmál frá sjónarhóli biðlarans, svo haltu því utan við annála, skeljasögu og ferlalista. Ef biðlarinn hafnar /dev/fd eða opnar skilríkjaslóðina oftar en einu sinni, skrifaðu raunverulega skrá með þröngum heimildum og eyddu henni í sömu skriftu.

Athugun 4: lifir göngin skriftuna?

Sjálfgefið deyr göngin með foreldri sínu, sem er andstæða þess sem ræsiskrifta þarf.

disown -h hjálpar aðeins þegar þú ræstir biðlarann sem skeljaverk, því hún breytir verkjatöflu þeirrar skeljar og nær ekki ferli sem skriftan þín bjó til gegnum pty. Þjónustustjóri er betri heimili fyrir allt sem verður að tengjast aftur án eftirlits, því hann endurræsir biðlarann og skráir hvers vegna hann dó. Í öllum tilvikum skaltu búast við nýjum kóða eftir hverja endurtengingu: einnota tákn eyðist við fyrstu farsælu auðkenningu.

Fylgstu með hvað sudo gerir við röðina. Lykilorðsbeiðni sudo er ekki beiðni VPN, og að svara henni með lykilorði VPN er algengasta leiðin sem annars rétt biðröð mistekst samt.

Athugun 5: á kóði manneskju að vera í skriftu?

Þetta er athugunin sem fólk sleppir. Tákn tilheyrir manneskju, en göng sem verða að koma upp samkvæmt áætlun tilheyra vélinni.

Ef verk þarf að tengjast aftur án eftirlits, spurðu hvort vélarskírteini eða þjónustureikningur geti komið í stað gagnvirkrar innskráningar. Sjálfvirkni á einnota kóða einhvers breytir öðrum þætti í geymt leyndarmál, sem er stefnubreyting en ekki þægindi við skriftugerð. Þar sem þjónustan styður bæði, veldu skilríkið sem passar við hvernig verkið gengur í raun. Skrifaðu svarið niður, því næsta manneskja mun spyrja hvers vegna skriftan heldur tákni.

Hvernig vinnandi skrifta lítur út

Skriftan prentar skrefið sem hún náði, aldrei leyndarmálið, og hættir með núll-frábrugðnum kóða við hverja misheppnaða bið.

Prófaðu hana með því að brjóta hana viljandi: rangt lykilorð, röng hópur, útrunnið tákn. Hver mistök ættu að stöðvast við nefnt skref í stað þess að hanga. Keyrðu hana síðan einu sinni gegn raunverulegri þjónustu og athugaðu göngin utan frá skriftunni, ekki innan frá.

Tengdir greinar