Linux жана macOS'то AnyConnect кирүүсүн скрипт менен кантип жазуу керек
vpn бинардык файлы жоопторду стандарттык кирүүдөн суроо тартиби менен окуйт. Ырааттуулукту түзүңүз, аны бир жолу тырмакчага алыңыз, процесстер тизмесинен тышкары кармаңыз жана адегенде бир ресурсту текшериңиз.
Скрипт нөл менен бүтөт, туннель пайда болот, кийинки иштетүү паролду сураганга чейин эле четке кагылат. Же ошол эле буйрук терминалда иштеп, пландалган тапшырмадан «окуя табылган жок» катасы менен ишке ашпай калат, ал эч кандай пайдалуу нерсени атабайт. Экөө тең тармактын бузулушу эмес, AnyConnect кардарынын стандарттык кирүүдөгү сүйлөшүүсүнүн бузулушу. Кирүүнү жазылган суроо-жооп катары караңыз, ошондо ишке ашпоолор алдын ала болжолдуу жана кичине болот.
Эмне үчүн ошол эле буйрук скрипттин ичинде ишке ашпайт
Кардар өз жоопторун стандарттык кирүүдөн окуйт, ар бир суроого бир сап, дарбаза аларды сураган тартипте. Суроолордун санын өзгөрткөн нерсе, мисалы жаңы баннер, топ тандагыч же экинчи фактордун чакырыгы, ар бир кийинки жоопту бир сапка жылдырат. Андан кийин кардар паролду күткөн жерден колдонуучу атын окуп, экөөнүн бирине да көрсөтпөгөн ишке ашпоо тууралуу билдирет.
Леп белгиси бар пароль андан тынч экинчи ишке ашпоону кошот. Кош тырмакчанын ичинде кабык аны кардар эч нерсе көрө электе эле көп мурун кеңейтет.
Жүктү жалгыз тырмакчага салыңыз, белги зыянсыз өтөт. Бул бүт оңдоо жана ал бирдей каттоо маалыматтары тергенде иштеп, сактаганда ишке ашпай калган отчеттордун бүт классын түшүндүрөт. Дарбазаны текшерүүдөн мурун кабык эмне кылганын текшериңиз: жүктү так байттарды көрсөткөн каптама аркылуу басып чыгарыңыз жана саптарды санаңыз. Мындай иликтөөлөрдүн көбү ушунда бүтөт.
Жоопторду кардар сураган тартипте жазыңыз
Кардарды бир жолу интерактивдүү иштетип, ар бир суроону тартиби менен жазып алыңыз. Топ тандагыч дарбаза бир нече профиль жарыялаганда гана пайда болот, ал эми баннер суроосу бири конфигурацияланганда гана пайда болот. Жооп файлы сиз чындап багыт алган дарбазага туура келиши керек, документтердегиге эмес.
Андан кийин файлды так ошол ырааттуулук менен түзүңүз, ар бир сапка бир жооп. Топ индекси — кардар тизмелеген сан, документтеги профилдин орду эмес. Баннерди дарбазаңыз жөнөтсө гана кабыл алыңыз жана ошол дарбаза сураары белгилүү ар бир кошумча суроого бир сап кошуңуз. Кардарды интерактивдүү эмес желек менен баштаңыз, ал терминалды күтүүнүн ордуна файлды керектесин.
connect vpn.lab.example
0
username
password
y
exit/opt/cisco/anyconnect/bin/vpn -s < anyconnect.txtОшол эле ырааттуулук дискиде файл кармагыңыз келбесе, түтүк аркылуу да келиши мүмкүн. Тырмакча эрежелери анын аман калаарын дагы эле чечет.
Каттоо маалыматтарын процесстер тизмесинен тышкары кармаңыз
Буйрук сабындагы аргументти процесстин бүт өмүрүндө ар кандай жергиликтүү колдонуучу окуй алат, ошондуктан пароль файлга же түтүккө таандык жана эч качан аргументтер тизмесине таандык эмес. Ошол файлды скриптти иштеткен эсепке гана окууга мүмкүн кыл жана иш бүткөндө аны жок кыл. macOS'те бинардык файл адатта Linux'тегидей эле жолдо болот, бирок божомолдоонун ордуна орнотулган жерди ырастаңыз. Эки жолду тең текшерген каптама окуя отчетунан кыска.
printf 'username\npassword\ny\n' | /opt/cisco/anyconnect/bin/vpn -s connect vpn.lab.exampleСкриптке чексиз кайра аракеттенүүгө да жол бербеңиз. Өзгөргөн баннер же түндө мөөнөтү бүткөн пароль туруктуу жооп файлын кайра аракеттенүү циклине айландырат, ал эми дал ошол цикл эсепти кулпулайт.
Бир жолу ишке ашпай калыңыз, кардардын өзүнүн ката текстин басып чыгарыңыз жана чыгыңыз. Пландалган тапшырмага башка ар кандай көзөмөлсүз тапшырма сыяктуу эле инсандыкты жана каттоо маалыматтарынын жеткиликтүүлүгүн кароо керек, анткени үнсүз мөөнөтү бүткөн маалыматты түнкү үчтөгү үзгүлтүктөн ажыратуу мүмкүн эмес.
Чыгуу кодекстине ишенүүдөн мурун сессияны ырастаңыз
Туташкан абал туннелдин бар экенин далилдейт жана андан ашык эч нерсе. Скрипт чыныгы ишке киришүүдөн мурун ал аркылуу жеткиликтүү болушу керек болгон бир ресурсту текшериңиз жана ал жердеги ишке ашпоону ишке ашпаган кирүүдөн башка бузулуш деп караңыз. Болбосо сиз өз максатына жете албаган толук жакшы байланышты кайра аракеттендиресиз.
Ажыратуудан мурун жана кийин кардардан анын абалын сураңыз, анткени эскирген сессия кийинки туташууну четке кагышы мүмкүн, ал эми скриптиңиз ийгилик тууралуу билдирет.
/opt/cisco/anyconnect/bin/vpn state
/opt/cisco/anyconnect/bin/vpn disconnectАбалдын чыгышын чыгуу кодексинин жанына жазыңыз, анткени жалгыз код четке кагылган кирүүнү эч качан жабылбаган сессиядан ажырата албайды. Дарбаза экинчи факторду же интерактивдүү уруксатты талап кылса, ошол кадамды скрипттөөнү токтотуп, ордуна кардар колдогон механизмди пайдаланыңыз. Туруктуу жооп файлы сиз көзөмөлдөгөн маалымат үчүн ыңгайлуулук, ал эми сиз көзөмөлдөбөгөн аутентификация кадамын айланып өтүү жолу эмес. Аймакты ушунчалык тар кармаңыз, ошондо бул кыска скрипт бойдон калат.
Туруктуу жооп файлы качан туура эмес курал
Экинчи фактор же уруксат суроосу бул үлгүнү толугу менен жеңет, жана бул скрипт табышмагы эмес, долбоордук чек. Ошол кадам үчүн кардар колдогон кандай гана механизм болбосун колдонуңуз жоопту алдын ала болжолдоонун ордуна. Туруктуу файл иштетүүлөрдүн ортосунда бирдей калган маалыматтар үчүн гана иштейт.
Каттоо маалыматтарынын эки эски стили да AnyConnect менен чаташтырылат. vpnc профили башка протокол менен сүйлөшөт жана топтун атын IPSec идентификатору катары каалайт, андан кийин жалпы топтук сырды, андан кийин өзүңүздүн эсебиңиздин маалыматтарын.
Протоколдор ар башка болгондуктан, vpnc AnyConnect профилдерин гана жарыялаган дарбазага жете албайт, ал эми бул кызмат үчүн кадимки ачык альтернатива anyconnect протоколу тандалган openconnect. pcf файлы эски Cisco кардарына таандык жана анын хостун, топтун атын жана топтун паролун дагы эле Cisco IPsec сүйлөгөн кардарга кайра киргизүүгө болсо да, файл кардарлардын ортосунда өтпөйт. Адаттан тыш порт же стандарттык эмес туннелдөө режими адатта ошол көчүрүүдө жоголот. Курал тандоодон мурун дарбаза кайсы протоколду сунуштаарын чечиңиз.