Түзету: OpenVPN Auth пайдаланушы атын стандартты кірістен оқи алмады
OpenVPN-нің «could not read Auth username from stdin» қатесі — жергілікті кіру ақауы. Қызметке оқуға болатын тіркелгі деректерінің көзін беріңіз; script-security-ге қатысы жоқ.
could not read Auth username from stdin аутентификация мәселесіне ұқсайды, бірақ олай емес. OpenVPN пайдаланушы атын стандартты кірістен сұрауға тырысты, оқуға болатын ештеңе таппады және серверге қосылмай тұрып тоқтады. Тіркелгі толық жарамды болуы мүмкін; жай ғана процестің сұрайтын адамы жоқ.
Сондықтан бірінші пайдалы қадам — клиенттің нені оқып жатқанын растау, қосылымды қайта көру немесе сервер жағындағы параметрлерді өзгерту емес. Төмендегі тексерулерді ретімен өткізіп, бірінші сәтсіз болған жерде тоқтаңыз.
Қатені жергілікті кіру ақауы ретінде оқыңыз
Қашан auth-user-pass файл аргументінсіз пайда болса, клиент сұрауды күтеді. Интерактивті қабықта бұл сұрау жұмыс істейді, өйткені процесте терминал бар. systemd, cron тапсырмасы немесе контейнер астында стандартты кіру әдетте бос болады және оқу сіз көріп отырған қатемен бірден қайтады.
Хабарлама сәтсіз болған өрісті де атайды — пайдаланушы аты немесе құпия сөз — бұл оқудың қаншалықты алысқа барғанын көрсетеді. Пайдаланушы атының болмауы процесс мүлдем ештеңе оқи алмағанын білдіреді. Сәтті пайдаланушы атынан кейін құпия сөздің болмауы кіру ағынының екі оқу арасында аяқталғанын білдіреді, бұл жартылай жазылған файлға немесе жабылған құбырға тән.
Басқа нәрсені өзгертуден бұрын клиенттің өз көзқарасын растаңыз. Оны сол конфигурациямен және сол пайдаланушымен алдыңғы планда іске қосып, сұраудың шығатынын бақылаңыз. Егер ол сіздің қабығыңызда шығып, қызмет менеджерінің астында шықпаса, айырмашылық кіру көзінде, тіркелгі деректерінде емес. unit файлы мен қабық ортасын жылдам салыстыру әдетте қайсысы терминал беретінін көрсетеді.
Қызметке қолдау көрсетілетін тіркелгі деректерінің көзін беріңіз
Қадағалаусыз жұмыс үшін қолдау көрсетілетін көз — аргумент ретінде берілетін тіркелгі деректерінің файлы: auth-user-pass. Файл қарапайым мәтін ретінде оқылады: бірінші жол — пайдаланушы аты, екіншісі — құпия сөз. Оған мынадай абсолютті жолмен сілтеңіз: /etc/openvpn/client/creds , осылайша қызмет тіркелгісінің жұмыс каталогы директиваның мағынасын өзгерте алмайды.
Рұқсаттар жол сияқты маңызды. Файл клиентті іске қосатын тіркелгі үшін оқылатын болуы керек, ал қалғандар үшін емес, және ол қызмет тіркелгісіне немесе қызметті қамтитын тобы бар root-қа тиесілі болуы тиіс. Мазмұнын баспай, сол тіркелгі ретінде оқылуын тексеріңіз.
Салыстырмалы жол — үнсіз ақау режимі. Профиль бір каталогта болуы мүмкін, ал systemd процесті басқа жерде іске қосады, сондықтан қабығыңызда шешілетін файл қызмет үшін шешілмейді. Тіркелгі деректерін тұрақты орынға көшіріп, оларға абсолютті сілтеме жасаңыз. Содан кейін қызметті бір рет іске қосып, профиль редакторының көрінісіне сенудің орнына сол жолдың қолданылатынын растаңыз.
Егер орналастыру бір реттік кодты немесе басқа интерактивті сынды қажет етсе, клиенттің жұмыс ағыны оны шынымен қадағалаусыз қолдай ма, соны шешіңіз. Статикалық құпия сөзі бар файл айналмалы кодқа жауап бере алмайды, ал жауап беру мүмкін емес сұрауды қайталау ақпарат қоспайды.
Неліктен script-security көмектеспейді
script-security клиенттің скрипттерді іске қоса алатынын және оларға қанша бере алатынын, соның ішінде құпия сөзді орта айнымалысы арқылы скриптке беруге болатынын басқарады. Пайдаланушы аты мен құпия сөздің бастапқыда қайдан келетіні туралы ол ештеңе айтпайды.
Оны жоғары деңгейге көтеру — жиі кездесетін рефлекс, өйткені хабарламада Auth аталады, бірақ ол кіру көзін емес, скрипт рұқсаттарын өзгертеді және клиенттің нені орындай алатынын кеңейтеді. Егер көмекші скрипт дизайнның бөлігі болса, алдымен кіру көзін түзетіп, қауіпсіздік деңгейін орналастыруға қажет ең төменгі мәнде ұстаңыз.
Басқару интерфейсі — заңды балама. Frontend оған қосылып, тіркелгі деректері сұрауын қабылдап, пайдаланушы аты мен құпия сөзбен жауап бере алады, кейбір GUI осылай жұмыс істейді. Егер қолдансаңыз, оны жергілікті мекенжайға байлаңыз, басқару құпия сөзінің файлымен қорғаңыз және кім қосыла алатынын шектеңіз, өйткені бұл клиенттің басқару арнасы.
Клиент файлды оқығаннан кейінгі келесі кезеңді тексеріңіз
Клиент тіркелгі деректерін оқи алғаннан кейін келесі ақау — сервермен нақты алмасу, және оның хабарламасының мағынасы басқа. Сол кезеңдегі аутентификация ақауы сервер тіркелгіні қабылдамағанын білдіреді; сын жауабы сервер басқа факторды қалайтынын білдіреді. Оларды сол мәселенің қайталануы емес, жаңа мәселелер ретінде қарастырыңыз.
Бүкіл жолды қызмет іске қосатындай сынап көріңіз: сол тіркелгі, сол жұмыс каталогы, сол unit ортасы. Тек сіздің қабығыңыздан іске қосқанда жұмыс істейтін қосылым орта айнымалысы немесе терминал әлі де ағынның бөлігі екенінің белгісі.
Содан кейін құпияларды тиісті жерде ұстаңыз. Пәрмен жолының аргументтеріндегі құпия сөздер процесс кестесінде көрінеді, ал жөндеу шығысындағы құпия сөздер билеттерге түседі. Қорғалған файлды немесе басқару интерфейсін пайдаланыңыз, журналдарды тіркелгі деректерін қайталамайтын деңгейде ұстаңыз және рұқсаты бар біреу кеткенде файлды ауыстырыңыз.
Тексеру тізімі: тіркелгі деректерінің абсолютті жолы, қызмет тіркелгісі ретінде оқылады, терминал қажет емес, script-security өз минимумында, басқару интерфейсі тек байланған және аутентификацияланған болса, және алынған сервер жауабы бөлек оқиға ретінде қарастырылады.