vpncli -s در برابر رابط گرافیکی: ورود به Cisco Secure Client
vpncli -s یک فایل پاسخ آماده را میخواند، در حالی که رابط گرافیکی یک انسان را. مقایسه کنید چه زمانی اسکریپت بهصرفه است، فایل چه نیاز دارد و چگونه آن را اثبات کنید.
Cisco Secure Client دو راه برای پاسخ به همان درخواستهای ورود به شما میدهد: انسانی که در vpnui.exe تایپ میکند، یا اسکریپتی که پاسخها را با -s از طریق ورودی استاندارد به vpncli.exe میفرستد. راه دوم اتصالهای زمانبندیشده را بدون خواندن تصویر رابط گرافیکی ممکن میکند و همچنین ورود را به فایلی تبدیل میکند که باید مانند یک اعتبارنامه محافظت شود. کدام را بخواهید بستگی دارد به اینکه انسانی پشت دستگاه باشد و رمز عبور هر چند وقت یکبار عوض شود. هیچیک از دو گزینه آنچه دروازه میپرسد را تغییر نمیدهد، فقط این را که چه کسی پاسخ میدهد.
هر دو راه به یک تونل ختم میشوند، پس مقایسه درباره بهرهبرداری است، نه پروتکل.
دو راه برای پاسخ به همان درخواستها
راه رابط گرافیکی ذاتاً تعاملی است: کارخواه میپرسد، کسی پاسخ میدهد و نشست تا زمانی که آن شخص آن را رها نکند زنده میماند. روی لپتاپی که انسان از آن استفاده میکند انتخاب درستی است، زیرا درخواستها با روش احراز هویت دروازه سازگار میشوند و کسی مجبور نیست رمز عبور را بهصورت متن ساده روی دیسک نگه دارد.
راه اسکریپت برای کیوسک، دستگاه آزمایشگاه یا وظیفه زمانبندیشدهای مناسب است که کسی برای تایپ کردن آنجا نیست. معامله صریح است: فایلی از اعتبارنامه روی دیسک را در ازای اتصال بدون نظارت میپذیرید. اگر دروازه احراز هویت گواهی یا SAML ارائه دهد، این معامله معمولاً ارزش ندارد، زیرا فایل فقط برای پاسخ به درخواستهایی وجود دارد که روشی قویتر از آنها پرهیز میکرد.
آن دو را همزمان روی یک دستگاه ترکیب نکنید. خط فرمان و کارخواه گرافیکی بر سر یک وضعیت نشست رقابت میکنند و این مشکل بخش بعدی است.
فایل پاسخ چه باید داشته باشد
کارخواه به ترتیب میپرسد — دروازه، گاهی انتخاب گروه، نام کاربری، رمز عبور و هر تأییدیه بنر. فایلی که به همه اینها پاسخ میدهد چنین است، با مقادیر واقعی جایگذاریشده:
connect vpn.example.com
MyGroup
alice
correct-horse-battery
yراه مطمئن برای ساختن آن فایل این است که یکبار دستی متصل شوید، هر خطی را که تایپ میکنید و هر Enter که میزنید یادداشت کنید و سپس همان توالی را دقیقاً بازتولید کنید. استقرارهایی که گروه و نام کاربری را در پروفایل ذخیره میکنند ممکن است در جایی که این درخواستها دیگر ظاهر نمیشوند به خطوط خالی نیاز داشته باشند، و خط آخر همچنان به خطجای خودش نیاز دارد. فایلی که یک خط کم دارد معمولاً بهجای شکست با خطای روشن، در درخواست آخر گیر میکند و به همین دلیل شبکه سرزنش میشود. فایل را دو بار با یادداشت خود مقایسه کنید، یکبار برای ترتیب و یکبار برای خطوط خالی.
فایل را بیرون از هر پوشه همگامسازیشده و فقط برای حسابی که وظیفه را اجرا میکند قابل خواندن نگه دارید. آن رمز، متن ساده است، پس فایل یک اعتبارنامه است: نه مخزن، نه دیسک اشتراکی، نه پیوست در یک تیکت. کارخواه درباره هیچیک از اینها به شما هشدار نمیدهد.
چرا رابط گرافیکی باید اول از میان برود
اسکریپت را با پایان دادن به فرایند رابط گرافیکی شروع کنید، سپس CLI را از پوشه نصب خودش اجرا کنید، زیرا هم پوشه کاری و هم نسخه کارخواه اهمیت دارند. یک پوسته نمونه:
@echo off
taskkill /IM vpnui.exe /F >nul 2>&1
cd /d "%PROGRAMFILES(x86)%\Cisco\Cisco Secure Client"
vpncli.exe -s < C:\secure\login.txtکدهای خروج اینجا نشانه موفقیت قابل اعتمادی نیستند. کارخواه پیشرفتش را چاپ میکند و تونل را در فرایندی جدا نگه میدارد، پس خروجی را برای خط وضعیت اتصال بخوانید و تنها بعد از آن کاری که به VPN وابسته است را شروع کنید.
اگر پایان دادن به رابط گرافیکی را جا بیندازید، اسکریپت ممکن است در حال اجرا به نظر برسد در حالی که نشست موجود در همان وضعیتی میماند که کاربر رها کرده است. این خرابی متناوب به نظر میرسد و دقیقاً همان نوع اشکالی است که از یک هفته حدس زدن جان سالم به در میبرد.
نشست را تأیید کنید، آن را فرض نگیرید
پس از بازگشت اسکریپت، چیزی را بررسی کنید که فقط داخل تونل وجود دارد — میزبان داخلی یا پسوند DNS که فقط حلکننده سازمانی به آن پاسخ میدهد. خط وضعیت اتصال را هم در خروجی کارخواه بخوانید و هر چیز دیگری را شکست بدانید نه موفقیت کند. اجرای دوباره فایل وقتی نشستی از قبل برپاست میتواند کارخواه را نیمهپیکربندیشده رها کند، پس یا اول قطع کنید یا وقتی نشست هست ورود را جا بیندازید.
سپس تصمیم بگیرید بازاتصال با کیست. حلقهای که به یک نشانی داخلی پینگ میزند و ورود را دوباره اجرا میکند میتواند یک کیوسک را ماهها آنلاین نگه دارد و همچنین میتواند نخستینبار که رمز عوض میشود حسابی را قفل کند. تعداد تلاشها را محدود کنید، هنگام عبور هشدار بدهید و بگذارید تیم هویت فایل را عوض کند نه اینکه رمز کهنه تا قفل شدن دوباره تلاش کند.
vpnclient.exe قدیمی همان ابزار نیست
همان خودکارسازی زیر نامی قدیمیتر ظاهر میشود و این دو قابل تعویض نیستند. کارخواه بازنشسته Cisco IPsec از vpnclient.exe با آرگومانهای درونخطی مانند فعل connect، نام پروفایل، کاربر و رمز در یک خط فرمان استفاده میکرد، در حالی که vpncli.exe دنبالهای از درخواستها را روی ورودی استاندارد با -s انتظار دارد. بنابراین کپی کردن یک اسکریپت انجمن قدیمی روی دستگاهی امروزی فرمانی میسازد که اجرا میشود، هیچ چیز دیدنی نمیکند و دروازه سرزنش میشود.
پیش از ویرایش هر آرگومانی، بررسی کنید کدام کارخواه نصب است و اسکریپت در واقع کدام را صدا میزند. تفاوت نام بهقدری کوچک است که در یک وظیفه زمانبندیشده از چشم بیفتد و نخستین چیزی است که باید بررسی شود وقتی اسکریپتی موروثی پس از ارتقا از کار افتاده است.