OpenVPN kërkon emër përdoruesi dhe fjalëkalim në terminalin kontrollues, dhe një skedar i ridrejtuar në hyrjen standarde nuk është ai terminal. Pikërisht ky detaj shpjegon skriptin që ngec ndërsa fjalëkalimi ndodhet aty në tub. Klienti e vizaton kërkesën dhe leximi bëhet nga pajisja e terminalit, prandaj ridrejtimi i stdin nuk ndryshon asgjë. Ushqe klientin përmes një prej rrugëve të tij të dokumentuara të hyrjes dhe i njëjti skript lidhet në provën e parë.

Tre rrugë mbulojnë pothuajse çdo rast, dhe secila dështon në mënyrën e vet. Zgjidh sipas kërkesës që klienti tregon vërtet, jo sipas opsionit që është më i lehtë për t'u skriptuar.

Kërkesa nuk vjen nga stdin

Kur OpenVPN ka nevojë për kredenciale, hap terminalin kontrollues dhe lexon aty. Prandaj një test interaktiv duket mirë, ndërsa e njëjta komandë nën cron ose në një skedar unit rri pa lëvizur me kërkesën të shkruar në një regjistër që askush nuk e shikon. Disa ndërtime kthehen në hyrjen standarde kur nuk ekziston terminal, dhe kjo mospërputhje është më e keqe se një dështim i fortë, sepse e fsheh problemin deri në vendosje.

Kontrollo mjedisin para se të shkruash ndonjë kod: ekzekuto klientin nën të njëjtin përdorues, me të njëjtin stdin, siç do të bëjë planifikuesi ose menaxheri i shërbimeve. Nëse kërkesa nuk shfaqet kurrë në regjistër dhe procesi nuk përparon, diçka po pret një terminal që nuk ekziston.

Rruga e parë: skedar kredencialesh me dy rreshta

Opsioni i vërtetimit merr një shteg, dhe skedari përmban saktësisht dy rreshta, së pari emrin e përdoruesit dhe pastaj fjalëkalimin, pa asgjë tjetër. Jep shtegun shprehimisht në vend që të mbështetesh në një emër skedari të paracaktuar, sepse një skedar kredencialesh i humbur në drejtorinë e punës është mënyra si llogaria e gabuar hyn në përdorim. Vendos modalitetin në 0600 dhe jep pronësinë llogarisë që ekzekuton klientin.

Klienti e lexon atë skedar një herë në nisje, prandaj rrotullimi i fjalëkalimit nënkupton rinisjen e procesit. Zakonisht kjo është sjellja që dëshiron, dhe i takon runbook-ut pranë procedurës së rrotullimit.

Rruga e dytë: askpass për frazën e çelësit

Një çelës privat i mbrojtur me frazë ngre një kërkesë të dytë, të ndryshme, dhe ajo ka përgjigjen e vet të bazuar në skedar: opsioni askpass lexon frazën nga rreshti i parë i një skedari. Për tunelet e bazuara në SSH ekuivalenti është një program askpass që klienti ekzekuton, dhe dalja e tij standarde bëhet sekreti.

Asnjëra formë nuk e vendos sekretin në listën e argumenteve, dhe të dyja e lënë të ekzistojë si skedar ose si program i ekzekutueshëm që e shtyp atë. Mbrojtja janë lejet e skedarit dhe pronësia e procesit, jo errësira. Një ndihmës që përsërit një varg të koduar fort është një sekret me hapa shtesë.

Rruga e tretë: CLI e vetë klientit të portalit

Klientët e ndërmarrjeve zakonisht ofrojnë një pikë hyrjeje në rreshtin e komandave që lidhet me një portal të emërtuar pa asnjë dritare, dhe kjo është rruga e mbështetur. Në Linux klienti GlobalProtect ofron operacione lidhjeje dhe importimi certifikate përmes CLI-së së vet, dhe portalet që përdorin vërtetim me certifikatë kanë nevojë për hapin e importimit para se një lidhje e automatizuar të mund të funksionojë. Preferoje ndaj shtypjeve sintetike të tasteve: merr një status real të daljes, pa varësi nga fokusi i dritares, dhe i mbijeton një ekrani të bllokuar.

Nëse lidhja e parë ende kërkon një njeri për të pranuar një certifikatë, automatizimi nuk është përfunduar. Bëje importimin gjatë konfigurimit dhe regjistroje si parakusht.

Kur rrjedha kërkon një pseudo-terminal

Një sekuencë që kërkon fjalëkalim dhe më pas një kod njëpërdorimsh nuk ka një skedar të vetëm për të lexuar. Një drejtues terminali si Expect është mjeti i duhur sepse pret me radhë çdo model, dhe ka nevojë për procesin e nisur para se të mund të përputhë ndonjë gjë.

Dy dështime dominojnë. Një skript që pret një kërkesë pa nisur klientin pret përgjithmonë, dhe Tcl nuk është shell, prandaj aritmetika e shell-it e shkruar brenda një blloku expect nuk vlerësohet ashtu si lexohet. Mbaje flamurin e korrigjimit ndezur ndërsa ndërton modelet, pastaj fike.

Sekrete që rrjedhin, dhe ku fshihen

Çdo gjë që kalon si argument duket në listën e proceseve, prandaj kredencialet i takojnë një skedari ose prapa një ndihmësi, kurrë rreshtit të komandave. Kodet njëpërdorimsh konsumohen sipas projektimit dhe duhet të prodhohen për çdo provë. Regjistrat e dështimit shpesh mbajnë emrin e përdoruesit dhe ndonjëherë më shumë, prandaj redaktoji para se t'i dërgosh kudo, dhe mbaje sekretin jashtë vetë profilit, sepse një skedar konfigurimi me fjalëkalim të integruar ngjitet në tiketa dhe në depo. Rrotullimi i llogarisë atëherë nënkupton gjueti pas çdo kopjeje, dhe pikërisht ky është kostoja që kjo skemë shmang.

Audito rrugët që zgjodhe, pastaj lidhi ato në skedarin unit ose në planifikuesin që do të ekzekutojë vërtet klientin. Tuneli jeton saktësisht sa jeton ai proces.

Artikuj të ngjashëm