سمون: 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 یادوي، خو هغه د ننوتنې سرچینه نه، بلکې د سکریپټ اجازې بدلوي او پراخوي چې کلاینټ څه اجرا کولی شي۔ که مرستندویه سکریپټ د ډیزاین برخه وي، لومړی د ننوتنې سرچینه سمه کړئ او د امنیت کچه په هغه ټیټه ارزښت کې وساتئ چې ځای پرځای کول ورته اړتیا لري۔
د مدیریت انټرفیس یو قانوني بدیل دی۔ فرنټ اینډ کولی شي ورسره ونښلي، د اعتبار معلوماتو غوښتنه ترلاسه کړي او د کارن نوم او پټنوم سره ځواب ووايي؛ ځینې GUI همداسې کار کوي۔ که یې کاروئ، محلي پتې ته یې وتړئ، د مدیریت پټنوم فایل سره یې وساتئ او محدود کړئ چې څوک نښلولی شي، ځکه دا د کلاینټ کنټرول چینل دی۔
د کلاینټ له خوا د فایل لوستلو وروسته بل پړاو تایید کړئ
کله چې کلاینټ وکولی شي اعتبار معلومات ولولي، بل ناکامي د سرور سره ریښتینی تبادل دی، او د هغې پیغام بېل مانا لري۔ په هغه پړاو کې د تصدیق ناکامي یعنې سرور حساب رد کړ؛ د ننګونې ځواب یعنې سرور بل فاکتور غواړي۔ دوی د همدې ستونزې تکرار نه، بلکې نوي ستونزې وګڼئ۔
ټوله لاره هغسې وازموئ لکه خدمت چې به یې چلوي: ورته حساب، ورته کاري ډایرکټري، ورته unit چاپېریال۔ هغه اړیکه چې یوازې ستاسو له شېل څخه د پیل کېدو په صورت کې کار کوي، نښه ده چې چاپېریال متغیر یا ټرمینل لا هم د جریان برخه دی۔
بیا رازونه هغه ځای کې وساتئ چې باید وي۔ د کمانډ کرښې استدلالونو کې پټنومونه د بهیرونو په جدول کې ښکاري، او د ډیبګ په وتلو کې پټنومونه ټیکټونو ته رسي۔ محافظت شوی فایل یا مدیریت انټرفیس وکاروئ، لاګونه په داسې کچه وساتئ چې اعتبار معلومات تکرار نه کړي، او کله چې د لاسرسي لرونکی څوک ولاړ شي فایل بدل کړئ۔
د چک لیست: د اعتبار معلوماتو مطلق لار، د خدمت حساب په توګه د لوستلو وړ، ټرمینل ته اړتیا نشته، script-security په خپل لږترلږه کې، مدیریت انټرفیس یوازې که وتړل شو او تصدیق شو، او د سرور پایله د جلا پېښې په توګه وګڼل شي۔