«invalid secrets» деген хабарды көргенде әдетте бір қорытынды жасалады: VPN тыныс белгілерін ұнатпайды. Бұл қорытынды әдетте қате, өйткені хабар шлюз тіркелгіге қарамай тұрып, жергілікті өңдеуден шығады. Бірдей құпиясөзді екі шешім жеткізеді, графикалық өріс және тіркелгі деректерінің файлы, олар әр жерде сәтсіздікке ұшырайды. Әуелден дұрыс болған құпиясөзді жеңілдетудің орнына, контейнерлерді салыстырыңыз.

Қате шлюзге дейін шығады

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

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

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

Таңбаларды емес, контейнерлерді салыстырыңыз

GUI құпиясөз өрісі, кілт сақтағышындағы жазба, екі жолды тіркелгі файлы және автоматтандыру құпиясы, әрқайсысы бірдей мәнді басқа конвертте тасиды. Конверттің өз ережелері бар, әдетте сол ережелер бұзылады. Мән сирек мәселе болады; мәнді тасымалдау мәселе. Екі ұғымды бөлек ұстасаңыз, диагностика қысқарады.

Where the value stopsWhat you seeWhat you checkWho owns the fix
GUI field or managed profileA validation message before any connection opensThe selected authentication mode and whether the field holds the secret or the usernameThe device owner or the profile author
Keychain or secret agentA prompt that keeps reappearing, or an agent errorWhether the agent is unlocked and holds an entry for this profileThe user who owns the keychain
Two-line credential fileA prompt for a password that was already suppliedLine count, line order and whether a trailing newline is presentWhoever generated the file
Shell argument or environmentWorks interactively but fails in automationWhether the shell expanded, trimmed or logged the valueWhoever wrote the automation

Community OpenVPN 2.6 клиент опциялары auth-user-pass үшін сол екі жолды файлды сипаттайды, оның ішінде құпиясөз жолы жоқ кездегі әрекет: клиент сұрайды. Осы бір деталь «мен беріп қойған құпиясөзді неге сұрайды» деген есептердің бір тобын түсіндіреді. Ол сондай-ақ екінші жолдың бос болуы зиянсыз пішімдеу таңдауы емес, мағыналы күй екенін айтады.

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

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

Тіркелгі файлын қабықша зақымынсыз құрыңыз

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

read -r VPN_USER
read -rs VPN_PASS
printf '%s\n%s\n' "$VPN_USER" "$VPN_PASS" > /etc/openvpn/client/creds
chmod 600 /etc/openvpn/client/creds
openvpn --config /etc/openvpn/client/office.conf --auth-user-pass /etc/openvpn/client/creds

Алғашқы екі команда пайдаланушы атын, содан кейін құпиясөзді көрсетпей оқиды, үшіншісі екі жолды жазады, төртіншісі файлды шектейді, соңғысы клиентті сол файлмен іске қосады. read -r кері еңіс белгілерін сақтайтынын ескеріңіз, дәл осы детальды қалдырсаңыз, жұмыс істеп тұрған құпиясөз сәтсіздікке айналады.

Файлды тырнақшасыз айнымалымен немесе қабықша кеңейтулеріне толы here-document-пен құрудан аулақ болыңыз. Екеуі де таңбаларды файлға жетпей тұрып өзгертуі мүмкін, ал нәтижесіндегі сәтсіздік VPN бас тартуына ұқсайды, өйткені дискідегі құпиясөз шынымен сіз білетін құпиясөзден өзгеше. Күдіктенсеңіз, құпияны өзін көрсетпей-ақ файлдың байт ұзындығын күтілетін мәнмен салыстырыңыз. Бір-екі байт айырмашылық дәйексөз апатының белгісі.

Кезеңді бірінші қатеден оқыңыз

Бір әрекеттен шыққан бірінші нақты хабарды сақтап, оны жіктеңіз. Жергілікті тексеру қатесі, жоқ жеке кілт, қолжетімсіз құпия агенті және шлюз аутентификациясының сәтсіздігі, бұл төрт түрлі нәтиже және төрт түрлі жауапты адам. Олардың тек біреуі тіркелгіге қатысты.

Егер шлюз дұрыс жеткізілген тіркелгі деректерін шынымен қабылдамаса, әкімшімен бірге тіркелгіні, аутентификация бэкендін және қажетті challenge-ді тексеріңіз. Жалпы аутентификация сәтсіздігі тыйым салынған таңбаны атамайды.

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

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