MFA сұранысын аяқтайсыз, туннель көтеріледі, терминалды жабу қосылымды өзімен бірге түсіреді. Бұл бақылау мәселесі, аутентификация емес, және OpenConnect-те оны шешетін ажыратқыш бар. Шешім — клиенттің іске қосу аяқталғаннан кейін, интерактивті бөлік шынымен біткенде, фонға тармақталуына жол беру. Төменде тексерулер тізбегі: оларды ретімен орындап, шлюзіңізге сәйкес келмейтін біріншісінде тоқтаңыз.

Кіру кезінде шлюз нені талап ететінін растаңыз

Әмір жазудан бұрын орналастыру талап ететін тіркелгі деректерінің жолын жазып алыңыз. Тек сертификат, құпия сөз және токен, SAML провайдері арқылы браузерлік айналым әртүрлі әрекет етеді, ал фондық режим олардың ешқайсысын өткізе алмайды. Бұл параметр іске қосудан кейін не болатынын өзгертеді, оның барысында емес.

Азғыратын шешім — сұранысты автоматтандыру. Құпия сөз сұранысын танығанда тұрақты жауап жазатын қабықша шлюз бір реттік код сұраған сәтте бұзылады және басқа тіркелгілер оқи алатын файлда тіркелгі деректерін қалдырады. Егер сессияны адам бекітуі керек болса, адамды процесте ұстаңыз.

Бірінші сессияны алдыңғы планда іске қосып, шығысты оқыңыз

Бір рет қалыпты қосылып, бүкіл қол алысуды басып шығарыңыз. Қолданылатын протоколды, сертификат немесе токен жолын, сервер беретін туннель мекенжайын және қосылым қабылданғанға дейінгі әр ескертуді жазып алыңыз. Сол жазба — сіздің базалық сызығыңыз және кейін клиент мәселесін шлюз өзгерісінен ажыратудың жалғыз арзан жолы. Оны терминал буферінен тыс сақтаңыз.

Содан кейін сол шақыруды фондық режиммен және PID файлын қосып қайталаңыз, мысалы openconnect --background --pid-file /run/openconnect.pid vpn.example.net, шлюзіңіз талап ететін протокол мен аутентификация параметрлерін сол жолда ұстаңыз. OpenConnect нұсқаулығы бұл параметрді іске қосу аяқталғаннан кейін фонда жалғастыру деп сипаттайды, сондықтан интерактивті кезең алдымен аяқталуы керек.

Жұмыс істеп тұрған процесті табуға және тоқтатуға болатын етіңіз

PID файлы тірі процеске сәйкес келгенше ғана дәлел. Оны қызмет тіркелгісіне тиесілі қалтаға қойыңыз және сигнал жібермес бұрын жазылған нөмірді процестер кестесімен салыстырыңыз. Қайта жүктеу мен құлау файлды қалдырады, ал ескірген файл тоқтату скриптінің туннель әлі тұрғанда сәттілік хабарлауының әдеттегі себебі. Тексеруді тоқтату рәсімінің бөлігі деп санаңыз, міндетті емес қадам емес.

Расталған PID-ке сигнал жіберіңіз, содан кейін шығу мәртебесіне сенудің орнына туннель интерфейсі шынымен жоғалғанын растаңыз. Егер клиентке интерфейсті конфигурациялау үшін жоғары құқықтар қажет болса, сигнал оны жіберуге рұқсаты бар тіркелгіден келуі керек.

Фондық режимді бақылаушы астына қабаттамаңыз

systemd және ұқсас бақылаушылар өздері іске қосқан процесті иеленуді күтеді, сондықтан тармақталатын клиент оларды шатастырады. Бақылаушы іске қосқыштың шығуын көреді, ал нақты қосылым жалғасады, сондықтан қайта іске қосу логикасы, күй есебі және тоқтату уақыт шектері енді дұрыс емес нәрсені сипаттайды. Бірлікті қолдау көрсетілетін алдыңғы план құрылымында жазып, демон жұмысын бақылаушыға қалдырыңыз.

--background-ді адам бастап, кейін кететін сессияларға қалдырыңыз. Егер талап біреу кірместен бұрын бар туннель болса, жетіспейтін бөлік — бекітілген интерактивті емес сәйкестік және оны жаңарту жоспары, ал ешбір әмір жолы жалауы екеуін де бермейді. Жалауды жүктеу скриптіне қосу бірінші мерзімі өткен тіркелгі деректерінде үнсіз сәтсіздікке ұшырайтын туннель жасайды.

Сессия cookie файлын тіркелгі деректері ретінде қарастырыңыз

OpenConnect --authenticate арқылы жеке аутентификация кезеңін құжаттайды, ал алынған материалды --cookie-on-stdin арқылы қайтаруға болады. Бұл жұп интеграциялық жұмыс үшін, ал ол шығаратын нәрсе оны жасаған құпия сөздей сезімтал.

Мәнді shell тарихынан, журналдардан және ашатын кез келген билеттен тыс ұстаңыз. Тапсыру скрипті cookie-мен бірге клиент алған расталған шеткі нүкте ақпаратын да сақтауы керек; оны жоғалтсаңыз, кейінгі іске қосу ешқашан аутентификацияламаған хостқа қосылуы мүмкін, бұл жай ғана сәтсіз болатын қосылымнан жаман.

Терминалды жабпас бұрын тізімді өтіңіз

Төрт нәрсе дұрыс болуы керек: интерактивті кіру алдыңғы планда аяқталды, PID файлы сіз растаған процесті көрсетеді, бақылаушы мәселесі бір бағытта шешілді және cookie-дің қарапайым мәтіндік файл емес сақтау жоспары бар. Төртеуі де орындалса, терминалдан кету қауіпсіз және туннель жұмысын жалғастырады.

Егер біреуі сәтсіз болса, қалғандарына тимес бұрын сол тармақты түзетіңіз, өйткені қалған тексерулер оны өтей алмайды. Бірінші іске қосудың алдыңғы план жазбасын да сақтаңыз: келесіде туннель ескертусіз құлағанда, сол базалық сызық шлюз жағындағы өзгерісті клиент жағындағы өзгерістен ажыратады.

Қатысты мақалалар