D’Skript endet mat null, den Tunnel erschéngt, an déi nächst Ausféierung gëtt ofgeleent, ier se iwwerhaapt no engem Passwuert freet. Oder dee selwechte Kommando funktionéiert an engem Terminal a fällt aus engem geplangten Job mat engem «Evenement net fonnt»-Feeler, deen näischt Nëtzleches nennt. Béides ass d’Standardagabs-Konversatioun vum AnyConnect-Client, déi schief geet, an net e Netzwierkfeeler. Behandelt de Login als geschriwwen Fro an Äntwert, an d’Feeler ginn viraussobar a kleng.

Firwat dee selwechte Kommando an engem Skript fällt

De Client liest seng Äntwerten aus der Standardagab, eng Zeil pro Fro, an der Rei wéi de Gateway se freet. Alles wat d’Zuel vun de Froe verännert, wéi en neie Banner, e Gruppeselektor oder eng Erausfuerderung vum zweete Faktor, verréckelt all spéider Äntwert ëm eng Zeil. Dann liest de Client e Benotzernumm, wou hie e Passwuert erwaart huet, a mellt e Feeler, deen op keent vun deenen zwee weist.

E Passwuert mat engem Ausruffzeechen setzt e méi rouegen zweete Feeler derbäi. An duebele Anféierungszeechen expandéiert d’Shell et vill éier de Client eppes gesäit.

Setzt d’Nutzlaascht an eenzel Anféierungszeechen, an d’Zeechen reest onbeschiedegt. Dat ass déi ganz Korrektur, an et erkläert eng ganz Klass vu Berichter, wou déiselwecht Umeldungsinformatioun beim Tippe funktionéiert an beim Späichere fällt. Kontrolléiert, wat d’Shell gemaach huet, éier Dir de Gateway kontrolléiert: dréckt d’Nutzlaascht duerch eng Ëmhüllung, déi déi genee Byte weist, a zielt d’Zeilen. Déi meescht vun dësen Ënnersichunge fänken genau do un.

Schreift d’Äntwerten an der Rei, wéi de Client freet

Fëllt de Client eemol interaktiv aus a schreift all Fro der Rei no op. E Gruppeselektor erschéngt nëmme wann de Gateway e puer Profiler publizéiert, an eng Banner-Fro erschéngt nëmme wann eng konfiguréiert ass. D’Äntwertdatei muss zu deem Gateway passen, op deen Dir tatsächlech weist, an net zu deem aus der Dokumentatioun.

Dann baut d’Datei mat genau där Sequenz, eng Äntwert pro Zeil. De Gruppindex ass d’Zuel, déi de Client oplëscht, an net d’Positioun vun engem Profil an engem Dokument. Akzeptéiert de Banner nëmme wann Äre Gateway een schéckt, a setzt eng Zeil derbäi fir all zousätzlech Fro, déi vun deem Gateway bekannt ass. Start de Client mam net-interaktiven Fändel, sou datt hien d’Datei verbraucht amplaz op en Terminal ze waarden.

connect vpn.lab.example
0
username
password
y
exit
/opt/cisco/anyconnect/bin/vpn -s < anyconnect.txt

Déiselwecht Sequenz kann duerch eng Päif kommen, wann Dir léiwer keng Datei um Disk hält. D’Anféierungsregelen entscheeden nach ëmmer, ob se iwwerlieft.

Hält d’Umeldungsinformatioun aus der Prozesslëscht eraus

En Argument an der Kommandozeil ass fir all lokale Benotzer wärend der ganzer Liewensdauer vum Prozess liesbar, also gehéiert d’Passwuert an eng Datei oder eng Päif an ni an d’Argumentlëscht. Maacht déi Datei nëmme fir de Kont liesbar, deen d’Skript ausféiert, a läscht se wann d’Aarbecht fäerdeg ass. Op macOS läit d’Binary normalerweis um selwechte Pad wéi op Linux, awer bestätegt d’installéiert Plaz amplaz se unzehuelen. Eng Ëmhüllung, déi béid Pater test, ass méi kuerz wéi de Bericht iwwer den Tëschefall.

printf 'username\npassword\ny\n' | /opt/cisco/anyconnect/bin/vpn -s connect vpn.lab.example

Loosst d’Skript och net éiweg nei probéieren. En geännerten Banner oder e Passwuert, dat iwwer Nuecht ofgelaf ass, maache vun enger fester Äntwertdatei eng Widderhuelungsschleif, an déi Schleif ass et, déi de Kont spären.

Fällt eng Kéier aus, dréckt dem Client säin eegenen Feelertext a verloosst. En geplangte Job brauch déiselwecht Iwwerpréiwung vun Identitéit an der Disposabilitéit vun den Umeldungsinformatiounen wéi all aner oniwwerwaacht Aufgab, well eng Umeldungsinformatioun, déi stille ofleeft, net vun engem Ausfall um dräi Auer moies z’ënnerscheede ass.

Bestätegt d’Sessioun, éier Dir dem Exit-Code vertraut

En verbonne Staat beweist, datt den Tunnel existéiert an näischt dréiwwer. Test eng Ressource, déi duerch hien erreechbar muss sinn, éier d’Skript richteg Aarbecht ufänkt, a behandelt en Ausfall do als anere Feeler wéi e feelgeschloene Login. Soss probéiert Dir eng komplett gutt Verbindung nach eng Kéier, déi einfach net un hire Bestëmmungsuert kënnt.

Frot de Client no sengem Staat virun an no der Trennung, well eng al Sessioun kann déi nächst Verbindung ofleenen, wärend Är Skript Erfolleg mellt.

/opt/cisco/anyconnect/bin/vpn state
/opt/cisco/anyconnect/bin/vpn disconnect

Notéiert d’Ausgab vum Staat nieft dem Exit-Code, well en Code eleng en ofgeleenten Login net vun enger Sessioun trenne kann, déi ni zougemaach gouf. Wann de Gateway en zweete Faktor oder eng interaktiv Genehmegung verlangt, hält op dëse Schrëtt ze skripten a benotzt amplaz de Mechanismus, deen de Client ënnerstëtzt. Eng fest Äntwertdatei ass eng Bequemlechkeet fir eng Umeldungsinformatioun, déi Dir kontrolléiert, an net e Wee fir en Authentifikatiounsschratt ze ëmgoen, deen Dir net kontrolléiert. Hält de Kader sou enk a bleift dëst e kuerzt Skript.

Wéini eng fest Äntwertdatei dat falscht Geschier ass

En zweete Faktor oder eng Genehmegungsfro besige d’Muster komplett, an dat ass eng Design-Grenz an net e Skript-Rätsel. Benotzt dee Mechanismus, deen de Client fir dee Schrëtt ënnerstëtzt amplaz d’Äntwert viraus ze roden. Eng fest Datei funktionéiert nëmme fir Umeldungsinformatiounen, déi tëschent Ausféierungen déiselwecht bleiwen.

Zwou eeler Stiler vun Umeldungsinformatioun gi och mat AnyConnect verwiesselt. E vpnc-Profil schwätzt en anere Protokoll, an hie wëll den Gruppennumm als IPSec-Identifizéierer, dann e gedeelt Gruppengeheimnis, dann Är eege Kontdetailer.

Well d’Protokoller sech ënnerscheeden, kann vpnc keen Gateway erreechen, deen nëmme AnyConnect-Profiler publizéiert, an déi gewinnt oppen Alternativ fir dee Service ass openconnect mam ausgewielten anyconnect-Protokoll. Eng pcf-Datei gehéiert zum ale Cisco-Client, an obwuel säi Host, Gruppennumm a Gruppepasswuert an engem Client, deen nach Cisco IPsec schwätzt, nei agefouert kënne ginn, wandert d’Datei net tëschent Cliente. En ongewéinleche Port oder en net-standardméissege Tunnelmodus geet bei deem Ëmzuch normalerweis verluer. Entscheet, wéi ee Protokoll de Gateway ubitt, éier Dir e Geschier auswielt.

Ähnlech Artikelen