OpenVPN petas uzantnomon kaj pasvorton en la rega terminalo, kaj dosiero alidirektita al la norma enigo ne estas tiu terminalo. Tiu sola detalo klarigas la skripton, kiu pendas dum la pasvorto kuŝas ĝuste tie en la tubo. La inviton desegnas la kliento kaj la legado okazas el la terminala aparato, do alidirekti stdin ŝanĝas nenion. Nutru la klienton tra unu el ĝiaj dokumentitaj enigoj kaj la sama skripto konektiĝos je la unua provo.

Tri enigoj kovras preskaŭ ĉiun kazon, kaj ĉiu malsukcesas laŭ sia maniero. Elektu laŭ la invito, kiun la kliento efektive montras, ne laŭ la opcio, kiu estas plej facila por skripti.

La invito ne venas de stdin

Kiam OpenVPN bezonas akreditaĵojn ĝi malfermas la regan terminalon kaj legas tie. Tial interaga testado aspektas bone, dum la sama komando sub cron aŭ unit-dosiero staras senmove kun la invito skribita en protokolon, kiun neniu rigardas. Iuj versioj falas reen al la norma enigo kiam terminalo mankas, kaj tiu nekohereco estas pli malbona ol firma malsukceso, ĉar ĝi kaŝas la problemon ĝis la deplojo.

Kontrolu la medion antaŭ ol skribi ajnan kodon: rulu la klienton sub la sama uzanto, kun la sama stdin, kiel faros la planilo aŭ la servoadministrilo. Se la invito neniam aperas en la protokolo kaj la procezo ne progresas, io atendas terminalon, kiu ne ekzistas.

Unua enigo: dosiero pri akreditaĵoj el du linioj

La aŭtentiga opcio prenas vojon, kaj la dosiero enhavas precize du liniojn, unue la uzantnomon poste la pasvorton, kaj nenion alian. Donu la vojon eksplicite anstataŭ fidi al apriora dosiernomo, ĉar vaganta akreditaĵa dosiero en la labora dosierujo estas la maniero, kiel la malĝusta konto venas en uzon. Agordu la reĝimon al 0600 kaj donu posedrajton al la konto, kiu rulas la klienton.

La kliento legas tiun dosieron unufoje ĉe starto, do rotacii la pasvorton signifas restartigi la procezon. Tio estas kutime la konduto, kiun vi volas, kaj ĝi apartenas al la runbook apud la rotacia proceduro.

Dua enigo: askpass por la ŝlosilfrazsekret

Pasfraza privata ŝlosilo starigas duan, alian inviton, kaj ĝi havas sian propran dosierbazan respondon: la opcio askpass legas la frazon el la unua linio de dosiero. Por SSH-bazitaj tuneloj la ekvivalento estas askpass-programo, kiun la kliento plenumas, kaj kies norma eligo fariĝas la sekreto.

Neniu el la du formoj metas la sekreton en la argumentliston, kaj ambaŭ lasas ĝin ekzisti kiel dosiero aŭ kiel plenumebla programo, kiu presas ĝin. La protekto estas dosierpermesoj kaj proceza posedo, ne kaŝiteco. Helpilo, kiu eĥas fikse koditan ĉenon, estas sekreto kun pliaj paŝoj.

Tria enigo: la propra CLI de la portala kliento

Entreprenaj klientoj kutime liveras komandlinian enirpunkton, kiu konektiĝas al nomita portalo sen fenestro, kaj tio estas la subtenata vojo. En Linux la kliento GlobalProtect elmetas konektajn kaj atestilajn-importajn operaciojn tra sia CLI, kaj portaloj, kiuj uzas atestilan aŭtentigon, bezonas la importan paŝon antaŭ ol aŭtomatigita konekto povas funkcii. Preferu ĝin al sintezitaj klavopremoj: vi ricevas veran elirstaton, neniun dependecon de fenestra fokuso, kaj ĝi postvivas ŝlositan ekranon.

Se la unua konekto ankoraŭ bezonas homon por akcepti atestilon, la aŭtomatigo ne estas finita. Faru la importon dum la agordo kaj registru ĝin kiel antaŭkondiĉon.

Kiam la fluo bezonas pseŭdo-terminalon

Sekvenco, kiu petas pasvorton kaj poste unufojan kodon, havas neniun unuopan dosieron por legi. Terminala pelilo kiel Expect estas la ĝusta ilo, ĉar ĝi atendas ĉiun ŝablonon laŭvice, kaj ĝi bezonas la procezon startigita antaŭ ol ĝi povas ion ajn kongrui.

Du malsukcesoj dominas. Skripto, kiu atendas inviton sen lanĉi la klienton, atendas eterne, kaj Tcl ne estas ŝelo, do ŝela aritmetiko skribita ene de expect-bloko ne estas taksata tiel, kiel ĝi legiĝas. Tenu la sencimigan flagon ŝaltita dum vi konstruas la ŝablonojn, poste malŝaltu ĝin.

Sekretoj, kiuj likas, kaj kie ili kaŝiĝas

Ĉio pasigita kiel argumento estas videbla en la proceza listo, do akreditaĵoj apartenas en dosieron aŭ malantaŭ helpilon, neniam sur la komandlinion. Unufojaj kodoj konsumiĝas laŭ la dezajno kaj devas esti produktitaj por ĉiu provo. Malsukcesaj protokoloj ofte portas la uzantnomon kaj foje pli, do redaktu ilin antaŭ ol sendi ilin ie ajn, kaj tenu la sekreton ekster la profilo mem, ĉar agorda dosiero kun enkonstruita pasvorto estas algluita en biletojn kaj deponejojn. Rotacii la konton poste signifas ĉasi ĉiun kopion, kaj tio estas ĝuste la kosto, kiun ĉi tiu aranĝo evitas.

Reviziu la enigojn, kiujn vi elektis, poste konektu ilin al la unit-dosiero aŭ planilo, kiu efektive rulos la klienton. La tunelo vivas precize tiom longe, kiom tiu procezo.

Rilataj artikoloj