vpncli -s mot GUI: logg inn i Cisco Secure Client
vpncli -s les ein førebudd svarfil, medan GUI les eit menneske. Samanlikn når skriptet svarar seg, kva fila treng og korleis du provar det.
Cisco Secure Client gir to måtar å svare på dei same innloggingsspørsmåla: eit menneske som skriv i vpnui.exe, eller eit skript som sender svar til vpncli.exe via standardinnlesing med -s. Den andre gjer planlagde tilkoplingar mogleg utan å lese GUI-skjermen, og han gjer òg ei innlogging om til ei fil som må vernast som eit identitetsbevis. Kva du vil ha, kjem an på om det sit eit menneske ved maskina og kor ofte passordet blir skifta. Ingen av vala endrar kva porten spør om, berre kven som svarar.
Begge vegane endar i same tunnelen, så samanlikninga gjeld drift, ikkje protokoll.
To måtar å svare på dei same spørsmåla
GUI-vegen er interaktiv av design: klienten spør, nokon svarar, og økta lever så lenge den personen lèt henne vere. Det er det rette valet på ein berbar datamaskin som eit menneske brukar, fordi spørsmåla tilpassar seg autentiseringsmetoden til porten og ingen treng å halde eit passord i klartekst på disken.
Skriptvegen passar for ein kiosk, ein laboratoriemaskin eller ei planlagd oppgåve der ingen er til stades for å skrive. Bytet er tydeleg: du godtek ei identitetsfil på disken mot ei tilkopling utan tilsyn. Viss porten tilbyr sertifikat- eller SAML-autentisering, er bytet vanlegvis ikkje verdt det, fordi fila berre finst for å svare på spørsmål som ein sterkare metode ville unngå.
Ikkje bland dei to på same maskin samstundes. Kommandolinja og den grafiske klienten kappast om same øktstilstand, og det er problemet i neste del.
Kva svarfila må innehalde
Klienten spør i rekkjefølgje — port, av og til eit gruppeval, brukarnamn, passord og kvar ein bannerstadfesting. Ei fil som svarar på alle, ser slik ut, med verkelege verdiar sette inn:
connect vpn.example.com
MyGroup
alice
correct-horse-battery
yDen pålitelege måten å byggje den fila på er å kople til ein gong for hand, skrive ned kvar linje du skriv og kvar Enter du trykkjer, og så gjere nøyaktig den same rekkjefølgja om att. Installasjonar som lagrar gruppa og brukarnamnet i profilen, kan trenge tomme linjer der dei spørsmåla ikkje lenger dukkar opp, og den siste linja treng framleis si eiga ny linje. Ei fil som manglar éi linje, heng vanlegvis ved det siste spørsmålet i staden for å feile med ein tydeleg feil, og derfor blir nettet skulda. Samanlikn fila med eigne notat to gonger, éin gong for rekkjefølgja og éin gong for dei tomme linjene.
Hald fila utanfor kvar synkronisert mappe og lesbar berre for kontoen som køyrer oppgåva. Passordet er klartekst, så fila er eit identitetsbevis: ingen lagringsteneste, ingen delt disk, ingen vedlegg i ein sak. Klienten varslar deg ikkje om noko av dette.
Kvifor GUI må gå først
Start skriptet med å avslutte GUI-prosessen, og køyr så CLI frå sin eigen installasjonsmappe, fordi både arbeidsmappa og klientversjonen tel. Eit illustrerande omslag:
@echo off
taskkill /IM vpnui.exe /F >nul 2>&1
cd /d "%PROGRAMFILES(x86)%\Cisco\Cisco Secure Client"
vpncli.exe -s < C:\secure\login.txtUtgangskodar er ikkje eit påliteleg suksessteikn her. Klienten skriv ut framdrifta si og held tunnelen i ein eigen prosess, så les utdata etter linja med tilkoplingstilstand og start først då arbeidet som er avhengig av VPN-en.
Hopper du over å drepe GUI, kan skriptet sjå ut som det køyrer medan den eksisterande økta blir verande i den tilstanden brukaren lét henne i. Den feilen ser periodisk ut, og det er nettopp den sorten feil som overlever ei veke med gissing.
Stadfest ei økt, ikkje gå ut frå det
Når skriptet kjem tilbake, sjekk noko som berre finst inne i tunnelen — ein intern vert, eller eit DNS-suffiks som berre firmaløysaren svarar på. Les òg linja med tilkoplingstilstand i utdata frå klienten, og handsam alt anna som feil i staden for ein sein suksess. Å køyre fila på nytt medan ei økt alt er oppe, kan la klienten stå halvkonfigurert, så anten kople frå først eller hopp over innlogginga når økta er der.
Avgjer så kven som eig attoppkoplinga. Ei løkke som pingar ei intern adresse og køyrer innlogginga på nytt, kan halde ein kiosk på nett i månadsvis, og ho kan òg låse ein konto første gongen passordet blir skifta. Set eit tak på talet på forsøk, varsle når det blir nådd, og lat identitetsteamet skifte fila i staden for å la eit utdatert passord prøve på nytt til ei låsing.
Den eldre vpnclient.exe er ikkje same verktøyet
Den same automatiseringa finst under eit eldre namn, og dei to er ikkje utbyttbare. Den utfasa Cisco IPsec-klienten brukte vpnclient.exe med argument på linja, slik som eit connect-verb, eit profilnamn, ein brukar og eit passord på éi kommandolinje; vpncli.exe ventar ei rekkje spørsmål på standardinnlesing med -s. Derfor gir kopiering av eit gamalt forumskript til ei maskin i dag ein kommando som køyrer, ikkje gjer noko synleg og får porten skulda.
Før du endrar noko argument, sjekk kva klient som er installert og kven skriptet faktisk kallar på. Namneforskjellen er liten nok til å bli oversett i ei planlagd oppgåve, og det er det første som må stadfestast når eit arva skript sluttar å verke etter ei oppgradering.