پینگ کار میکند اما SSH روی VPN شکست میخورد: کدام مرحله شکست؟
یک تلاش پرمخاطب دسترسپذیری TCP، انتقال SSH، هویت میزبان، ورود کاربر و مجوز نشست را از هم جدا میکند تا حدس زدن درباره تونل را متوقف کنید.
پاسخهای پینگ و ورود SSH ردشده میتوانند همزمان درست باشند، و این جفت تونل را متهم نمیکند. پاسخهای بازتاب و یک اتصال TCP به پورت 22 آزمونهای متفاوتی با انتخابگرهای متفاوت، سیاستهای متفاوت و اغلب مقصدهای متفاوت هستند. یک تلاش عمدی SSH را ثبت کنید، سپس آخرین مرحلهای که به آن رسید را نام ببرید. همان یک اثر، جای دوازده تغییر حدسی در تنظیمات را میگیرد.
یک تلاش را ثبت کنید، نه یک نشست آزمونوخطا
کلاینت را یک بار با تشخیصهای پرمخاطب، اشتراکگذاری اتصال غیرفعال و مهلت اتصال محدود اجرا کنید. غیرفعال کردن اشتراکگذاری مهم است، چون یک اتصال اصلی که قبلاً احراز هویت شده در غیر این صورت بهجای تلاش جدید پاسخ میدهد و نقصی را که دنبالش هستید پنهان میکند.
ssh -4 -vv -o ControlPath=none -o ConnectTimeout=10 [email protected]
مقصد، خانواده نشانی، مهر زمانی و آخرین خطای غیرمحرمانه را نگه دارید. پرچم IPv4 همچنین یعنی این تلاش هیچ چیزی درباره مسیر IPv6 به همان نام نمیگوید، پس از آن تعمیم نگیرید. ثبت کنید تلاش از کجا انجام شده است. بررسی روی دروازه VPN همان نقطه دید یک لپتاپ پشت آن نیست، و بیشتر تناقضها در این تیکتها از آمیختن این دو میآید.
مرحله یک و دو: TCP پیش از SSH
اولین مرز، دسترسپذیری سوکت است: یک نشانی، یک پورت و مسیری که بسته واقعاً طی میکند. اگر اتصال TCP هرگز کامل نشود، هنوز چیزی بالاتر از آن وجود ندارد، و کلیدهای میزبان و حسابها بیربطاند.
nc -vz 10.90.4.20 22
ip route get 10.90.4.20
tcpdump -ni any 'host 10.90.4.20 and port 22'
ثبت را با تلاش کلاینت همبسته کنید. خروج SYN و بازنگشتن هیچ چیز به فیلترکردن، انتخابگرها یا مسیر مفقود در طرف دور اشاره دارد؛ پاسخ با بازنشانی به چیزی اشاره دارد که فعالانه رد میکند نه اینکه رها کند. دومین مرز، خود تبادل پروتکل SSH است. اتصال TCP که کامل میشود و سپس متوقف میماند، از دسترسپذیری گذشته و به مذاکره، پاسخ سرور یا پردازش بسته وارد شده است. این تحقیقی متفاوت است، و همانجاست که مشکلات مرتبط با اندازه نخستین بار محتمل میشوند.
مرحله سه: کلید چه کسی پاسخ داد
وقتی انتقال برپا شد، کلاینت کلید میزبان سرور را بررسی میکند. رد شدن در اینجا سخنی درباره هویت است، نه درباره رمزنگاری: همتا کلیدی ارائه کرده که سیاست شما آن را نمیپذیرد. آن را شرط توقف بدانید و خارج از کانال، از طریق کنسول یا اپراتوری که میزبان را بازسازی کرده بررسی کنید. حذف ورودی بهخاطرسپرده برای پاک کردن هشدار، تنها میانبری است که باید رد کرد، چون شواهد اینکه چیزی بهطور غیرمنتظره پاسخ داده را نابود میکند.
اگر میزبان واقعاً بازسازی شده است، رکورد کهنه را فقط پس از تأیید اثر انگشت جدید حذف کنید، و تاریخ و دلیل را یادداشت کنید. مهندس بعدی با همان هشدار روبهرو میشود و به این زمینه نیاز دارد.
مرحله چهار و پنج: حساب در برابر مجوز
احراز هویت مرز چهارم است. اعتبارنامه ردشده یعنی سرور تلاش را ارزیابی کرده و رد کرده است؛ حساب، نوع اعتبارنامهای که سرور میپذیرد و سیاست خود سرور را بررسی کنید، نه رمز عبور VPN را. مرز پنجم، مجوزدهی پس از ورود موفق است. به کاربر احراز هویت شده باز هم میتوان پوسته، فرمان، زیرسیستم یا ارسال به جلو را رد کرد، و این ردها برای کسی که فقط آخرین خط کلاینت را میخواند شبیه خرابی به نظر میرسند.
| Last stage reached | What it proves | Where to look next |
|---|---|---|
| No TCP connection | No SSH transport exists | Address, port, route, selectors, filter, listener |
| TCP up, exchange incomplete | Reachability is not the blocker | Server response, negotiation, packet handling |
| Host identity rejected | The peer is not the expected host | Independently verified host key |
| User authentication rejected | The attempt reached authentication | Account, credential and server policy |
| Authenticated, session denied | Login succeeded, the operation did not | Shell, command or forwarding permission |
پس از چند تلاش ناموفق رمز عبور متوقف شوید. حدسهای تکراری قفلهایی میسازند که سپس شبیه یک نقص دوم و نامرتبط به نظر میرسند و بیش از تیکت اصلی وقت میگیرند.
بازگردانی و سابقهای که نگه میدارید
هر بار یک چیز را تغییر دهید، و پیش از آزمون دوباره بنویسید چه چیزی را تغییر دادهاید. اگر تغییری تلاش را بدتر کرد، فوراً آن را برگردانید بهجای اینکه اصلاح دیگری روی آن بگذارید. عملیات اصلی را از کلاینت و بافت اصلی تکرار کنید. ورود موفق از ماشین دیگر، در خانواده نشانی دیگر، بازتولید نیست و اصلاح را اثبات نمیکند.
آنچه به اشتراک میگذارید را پاکسازی کنید. خروجی پرمخاطب کلاینت میتواند نامهای داخلی، برچسبهای حساب، مسیرهای کلید و شناسههای کلید عمومی را حمل کند، پس نتیجه مرحلهای را منتشر کنید نه یک رد خام.