نبود درخواست TOTP در OpenConnect در NetworkManager: چهار بررسی
دروازه یک کد یکبارمصرف میخواهد و پنجره NetworkManager هرگز فیلدی برای آن ارائه نمیکند. پیش از ویرایش کلیدها بررسی کنید احراز هویت کجا متوقف شده است.
دروازه گذرواژه را میپذیرد، کد میخواهد و پنجره هیچ فیلدی برای آن ارائه نمیکند. چیزی اشتباه تایپ نشده است: افزانه NetworkManager تبادل کلید را بدون درخواست مقدار ششرقمی کامل کرد. چهار بررسی زیر را به ترتیب انجام دهید، زیرا فقط یکی از آنها سرویسگیرنده را تغییر میدهد. بقیه فهرست دروازه، حساب و ساخت افزانه را کنار میگذارد.
بررسی یکم: بخوانید احراز هویت کجا متوقف شده است
گذرواژه نادرست بیدرنگ شکست میخورد. عامل دوم غایب پس از مرحله اعتبارنامه شکست میخورد، معمولاً با درخواست تکراری یا پایان مهلت در سمت دروازه. زمانبندی و گزارش دروازه نشان میدهد کدام دور بیپاسخ مانده است.
پیش از دست زدن به نمایه، گزارش اتصال را بخوانید. اگر دروازه احراز هویت ناقص یا چالش منقضی گزارش کند، سرویسگیرنده هرگز کد را نفرستاده است. اگر اعتبارنامه نامعتبر گزارش کند، مشکل گذرواژه است و هیچ تنظیم TOTP آن را درست نمیکند.
ترتیب دقیق درخواستهایی را که دروازه انتظار دارد یادداشت کنید: نام کاربری، گذرواژه، سپس کد، یا نام کاربری، کد، سپس گذرواژه. برخی دروازهها ترتیب دورها را تغییر میدهند و سرویسگیرندهای که فقط ترتیب اول را میداند در دومی متوقف میشود.
بررسی دوم: از سرویسگیرندهای استفاده کنید که چالش از آن است
خود OpenConnect کل گفتوگو را پیاده میکند، از جمله دور چالش. اجرای مستقیم آن قابلپیشبینیترین راه برای تأیید کارکرد حساب و دروازه است:
sudo openconnect --protocol=anyconnect --useragent=AnyConnect vpn.example.netسرویسگیرنده به همان ترتیبی میپرسد که دروازه میپرسد. عامل کاربر مهم است زیرا برخی دروازهها جریان ورود را برای سرویسگیرنده شناختهشده تنظیم میکنند و یک رشته عمومی میتواند جریان کوتاهتری بسازد که هرگز کد را نمیخواهد. پیش از برپاسازی هر سرویس پسزمینه، یک بار آن را در پیشزمینه اجرا کنید.
اگر خط فرمان درست بپرسد، حساب، دروازه و عامل دوم سالماند. مشکل باقیمانده پنجره افزانه است، نه سرویس احراز هویت. این مؤلفه خراب را بدون دست زدن به کارساز جدا میکند. خروجی فرمان را همراه گزارش رخداد نگه دارید.
اگر خط فرمان هم درخواست را رد کند، متوقف شوید و پیکربندی دروازه را با مسئولش بررسی کنید. هیچ سرویسگیرنده رومیزی نمیتواند به چالشی پاسخ دهد که کارساز هرگز نمیفرستد.
بررسی سوم: ببینید آیا افزانه شما حالت TOTP را آشکار میکند
برخی ساختهای NetworkManager OpenConnect حالت توکن و فیلد عامل کاربر را در زبانه Identity اتصال نشان میدهند. عامل کاربر را روی مقداری که دروازه انتظار دارد بگذارید، ورود دستی TOTP را انتخاب کنید و اتصال را ذخیره کنید.
وجود این فیلدها به نسخه افزانه و به این بستگی دارد که رومیزی از کدام ویرایشگر اتصال استفاده میکند. ویرایشگر مستقل ممکن است گزینههایی نشان دهد که پنل GNOME پنهان میکند، یا برعکس. پیش از جستجوی تنظیم پنهان، نسخه بسته نصبشده را بررسی کنید.
اگر حالت توکن هست و درخواست همچنان ظاهر نمیشود، ساخت از انتقال چالش میان افزانه و پنجره عمومی کلید بیبهره است. دوباره تایپ کردن گذرواژه، نصب دوباره همان بسته یا پاک کردن جاکلیدی فیلدی نمیسازد که ساخت پیاده نکرده است.
بررسی چهارم: کد تولیدشده را یک معامله بدانید
یک اسکریپت میتواند برای کد کنونی oathtool را فراخوانی کند و نام کاربری، گذرواژه و کد را به nmcli connection up --ask بدهد. این توالی کار میکند، اما کلید مشترک جایی ذخیره میشود که هر کسی که بتواند اسکریپت را باز کند میخواند، و آن خواننده میتواند تا ابد کد بسازد. این گسترش دائمی سطح اعتبارنامه است، نه اصلاح سرویسگیرنده.
هر کس این را انتخاب کند باید پرونده کلید را به root محدود کند، مقادیر تولیدشده را بیرون از تاریخچه پوسته نگه دارد و اسکریپت را ماده اعتبارنامه بداند. پوششی که کد را در پایانه بازتاب میدهد عامل دوم را دور میریزد. نخست پوشش را با حسابی یکبارمصرف بیازمایید.
اسکریپت باید ترتیب درخواست دروازه را هم رعایت کند. اگر کارساز کد را پیش از گذرواژه بخواهد، توالی ورودی ثابت مقدار نادرست را به درخواست نادرست میفرستد و همان احراز هویت ناقص را میسازد. پیش از وصل کردن به کار ورود، آن را با حساب آزمایشی تمرین کنید.
همان دروازه و همان حساب را تأیید کنید
هر راهحل موقت را با همان دروازه، همان حساب و همان گروه تونل بیازمایید. دروازهای که گواهی دستگاه هم میخواهد ممکن است سرویسگیرنده خط فرمان را به دلیلی بیربط با TOTP رد کند و ترتیب درخواستها با آنچه تمرین کردهاید تفاوت داشته باشد.
سرویسگیرنده، نسخهاش، عامل کاربر و ترتیب درخواستهایی که کار کرد را ثبت کنید. این ثبت به نفر بعدی میگوید مشکل در ساخت افزانه، جریان دروازه یا سیاست حساب است، بدون دور دیگری از بازنشانی گذرواژه.
با یک بار اتصال دوباره پس از خروج کامل تمام کنید. کلید ذخیرهشده در حافظه نهان میتواند جریان خراب را تا نشست بعدی سالم نشان دهد، و در اتصال دوم است که درخواست گمشده معمولاً بازمیگردد.