vpncli -s mot GUI: logg inn i Cisco Secure Client
vpncli -s les en forberedt svarfil, mens GUI les et menneske. Sammenlign når skriptet lønner seg, hva filen trenger og hvordan du beviser det.
Cisco Secure Client gir to måter å svare på de samme innloggingsspørsmålene: et menneske som skriver i vpnui.exe, eller et skript som sender svar til vpncli.exe via standard innlesing med -s. Den andre gjør planlagte tilkoblinger mulig uten å lese GUI-skjermen, og den gjør også en innlogging om til en fil som må beskyttes som en legitimasjon. Hvilken du vil ha, avhenger av om det sitter et menneske ved maskinen og hvor ofte passordet roterer. Ingen av valgene endrer hva gatewayen spør om, bare hvem som svarer.
Begge veiene ender i samme tunnel, så sammenligningen gjelder drift, ikke protokoll.
To måter å svare på de samme spørsmålene
GUI-veien er interaktiv av design: klienten spør, noen svarer, og økten lever så lenge den personen lar den være. Det er det riktige valget på en bærbar maskin som et menneske bruker, fordi spørsmålene tilpasser seg autentiseringsmetoden til gatewayen og ingen trenger å holde et passord i klartekst på disken.
Skriptveien passer for en kiosk, en laboratoriemaskin eller en planlagt oppgave der ingen er til stede for å skrive. Byttet er tydelig: du godtar en legitimasjonsfil på disken mot en tilkobling uten tilsyn. Hvis gatewayen tilbyr sertifikat- eller SAML-autentisering, er byttet vanligvis ikke verdt det, fordi filen bare finnes for å svare på spørsmål som en sterkere metode ville unngå.
Ikke bland de to på samme maskin samtidig. Kommandolinjen og den grafiske klienten konkurrerer om samme økttilstand, og det er problemet i neste del.
Hva svarfilen må inneholde
Klienten spør i rekkefølge — gateway, noen ganger et gruppevalg, brukernavn, passord og enhver bannerbekreftelse. En fil som svarer på alle, ser slik ut, med virkelige verdier satt inn:
connect vpn.example.com
MyGroup
alice
correct-horse-battery
yDen pålitelige måten å bygge den filen på er å koble til én gang for hånd, skrive ned hver linje du skriver og hver Enter du trykker, og deretter gjengi nøyaktig den rekkefølgen. Installasjoner som lagrer gruppen og brukernavnet i profilen, kan trenge tomme linjer der de spørsmålene ikke lenger vises, og den siste linjen trenger fortsatt sin egen nye linje. En fil som mangler én linje, henger vanligvis ved det siste spørsmålet i stedet for å feile med en tydelig feil, og derfor får nettverket skylden. Sammenlign filen med egne notater to ganger, én gang for rekkefølgen og én gang for de tomme linjene.
Hold filen utenfor enhver synkronisert mappe og lesbar bare for kontoen som kjører oppgaven. Passordet er klartekst, så filen er en legitimasjon: ingen lagringstjeneste, ingen delt disk, ingen vedlegg i en sak. Klienten varsler deg ikke om noe av dette.
Hvorfor GUI må gå først
Start skriptet med å avslutte GUI-prosessen, og kjør deretter CLI fra sin egen installasjonsmappe, fordi både arbeidsmappen og klientversjonen teller. Et illustrerende 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.txtUtgangskoder er ikke et pålitelig suksesstegn her. Klienten skriver ut framdriften sin og holder tunnelen i en egen prosess, så les utdata etter linjen med tilkoblingsstatus og start først da arbeidet som avhenger av VPN-en.
Hvis du hopper over å drepe GUI, kan skriptet se ut som det kjører mens den eksisterende økten blir værende i den tilstanden brukeren forlot den i. Den feilen ser periodisk ut, og det er nettopp den typen feil som overlever en uke med gjetting.
Bekreft en økt, ikke anta den
Når skriptet kommer tilbake, sjekk noe som bare finnes inne i tunnelen — en intern vert, eller et DNS-suffiks som bare firmaløseren svarer på. Les også linjen med tilkoblingsstatus i utdata fra klienten, og behandle alt annet som feil i stedet for en sen suksess. Å kjøre filen på nytt mens en økt allerede er oppe, kan etterlate klienten halvkonfigurert, så enten koble fra først eller hopp over innloggingen når økten er der.
Avgjør så hvem som eier gjenoppkoblingen. En løkke som pinger en intern adresse og kjører innloggingen på nytt, kan holde en kiosk på nett i månedsvis, og den kan også låse en konto første gang passordet roterer. Begrens antall forsøk, varsle når det nås, og la identitetsteamet rotere filen i stedet for å la et utdatert passord prøve på nytt til en låsing.
Den eldre vpnclient.exe er ikke samme verktøyet
Den samme automatiseringen finnes under et eldre navn, og de to er ikke utbyttbare. Den utfasede Cisco IPsec-klienten brukte vpnclient.exe med argumenter på linjen, slik som et connect-verb, et profilnavn, en bruker og et passord på én kommandolinje; vpncli.exe forventer en rekke spørsmål på standard innlesing med -s. Derfor gir kopiering av et gammelt forumskript til en maskin i dag en kommando som kjører, ikke gjør noe synlig og får gatewayen skylden.
Før du endrer noen argumenter, sjekk hvilken klient som er installert og hvilken skriptet faktisk kaller på. Navneforskjellen er liten nok til å bli oversett i en planlagt oppgave, og det er det første som må bekreftes når et arvet skript slutter å virke etter en oppgradering.