انتقال SSH محلی یا VPN کامل برای یک صفحه Mac؟
برای یک صفحه روی یک میزبان، انتقال SSH محلی از طریق loopback کوچکتر از VPN است. اینجا میبینید چه زمانی کافی است، چه چیزی را رمزگذاری میکند و چه زمانی باید کنارش گذاشت.
باید صفحه یک Mac را از دستگاه خودتان ببینید، Mac پشت میزبانی است که از قبل میتوانید با SSH به آن وصل شوید، و پرسش این است که آیا این کار شایسته یک VPN هست. معمولاً نه. یک انتقال محلی یگانه یک پورت TCP را از دل نشست SSH که از قبل دارید عبور میدهد، و برای یک صفحه روی یک میزبان، این چیدمانی کوچکتر و قابلرسیدگیتر از مسیریابی یک شبکه کامل است.
سه شرط آن را تعیین میکنند، و هر یک از آنها میتواند شما را بهجای آن به سوی VPN مدیریتشده هُل دهد.
سه شرط آن را تعیین میکنند
اولی دامنه است: یک سرویس روی یک میزبان، یا چند میزبان و چند پورت. دومی این است که آیا هر گام میان سنگر و هدف از قبل مورد اعتماد است، چون SSH تنها بخشی را که در آن پایان مییابد محافظت میکند. سومی این است که چه کسی باید پس از ساخت، از این چیدمان پشتیبانی کند، چون تونلی که با دست ساخته شود معمولاً از کسی که آن را میفهمید بیشتر عمر میکند. پیش از شروع نام آن شخص را بگویید، و فرمان را جایی بنویسید که او بتواند پیدا کند. انتقال مستندنشده یک رخداد آینده با تاریخ شروع بهتعویقافتاده است.
اگر پاسخها «یک»، «بله» و «من، فعلاً» باشند، انتقال ابزار درست است. اگر هر پاسخی تغییر کند، یک طراحی دسترسی از راه دور پشتیبانیشده در طول یک سال ارزانتر از بازبینی رخدادی است که پس از یک تونل مستندنشده میآید.
یک پورت را منتقل کنید، نه شبکه را
انتقال محلی یک شنونده روی دستگاه شما باز میکند و هر اتصال را از طریق سرور SSH به مقصدی میفرستد که آن سرور میتواند به آن برسد. برای Macی که سرویس اشتراک صفحه آن روی TCP 5900 گوش میدهد، و سنگری که میتواند mac.corp.example را تجزیه کند، فرمان کوتاه و بهعمد باریک است. هر گزینه در آن وجود دارد تا چیدمان کوچک بماند: بیپوسته، بیشنونده روی همه رابطها، بیدیمن. آن را بیانیهای درباره دامنه بخوانید، نه دستور پخت.
ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:15900:mac.corp.example:5900 [email protected]بستن شنونده به 127.0.0.1 آن را از هر رابط دیگری دور نگه میدارد. این تشریفات نیست: انتقالی که به همه رابطها بسته شده باشد، لپتاپ شما را برای هر کسی در همان Wi-Fi کافه به یک رله باز به شبکه شرکت تبدیل میکند. اگر پورت از قبل در استفاده است، پورت بالای دیگری برگزینید و نمایشگر را بهروز کنید؛ برای اینکه مثال جور دربیاید یک سرویس بیربط را متوقف نکنید.
حساب روی سنگر هم به اجازه انتقال به آن مقصد نیاز دارد. برخی پیکربندیهای سختشده SSH انتقال پورت را کاملاً غیرفعال میکنند، و برخی آن را با دستور permit-listen یا permit-open محدود میکنند. پیش از آنکه فرض کنید کانال ردشده یعنی گذرواژه اشتباه بوده، سیاست سرور را بخوانید.
SSH چه چیزی را رمزگذاری میکند، و کجا میایستد
نشست SSH ترافیک Mac شما تا سنگر را محافظت میکند، و انتقال پروتکل VNC را بدون فهمیدن آن درون همان نشست حمل میکند. وقتی اتصال سنگر را به سوی هدف ترک میکند، دیگر درون نشست SSH شما نیست. هر محافظتی که در آن گام آخر وجود دارد، به پروتکل هدف و به کنترلهای خود شبکه خصوصی تعلق دارد.
به همین دلیل نباید گام آخر ساده VNC را فقط به این خاطر که گام اول از SSH استفاده کرد، سرتاسر رمزگذاریشده توصیف کرد. بخشها را صادقانه توصیف کنید: نیرومند از کارخواه تا سنگر، و پس از آن هر چه هدف پشتیبانی میکند. اگر الزام این است که کل مسیر با یک سازوکار رمزگذاری شود، انتقال این را برآورده نمیکند.
احراز هویت در هدف باز هم موضوعی جداگانه است. حساب SSH ورود به macOS نمیدهد، و سرویس اشتراک صفحه هنوز اعتبارنامههای خودش را میخواهد و هنوز فهرست دسترسی خودش را اعمال میکند. شنونده محلیای که یک اتصال را میپذیرد هیچ چیز را درباره اینکه سرویس دور نشست را بپذیرد یا نه اثبات نمیکند.
چه زمانی VPN کامل انتخاب درست است
وقتی کار به بیش از یک پورت نیاز دارد VPN را برگزینید: کارکردهای مدیریت و گزارش Apple Remote Desktop ترافیک TCP و UDP افزودهای به کار میبرند که یک انتقال TCP آن را حمل نمیکند. انتقال پیادهسازی جزئی کل محصول نیست؛ ابزاری دیگر و کوچکتر است.
آن را هنگامی برگزینید که چند مدیر از مکانهای متغیر وصل میشوند، چون نمایه مدیریتشده مسیرها، اعتبارنامهها و سیاست را توزیع میکند بیآنکه هر فرد خط فرمانی اختراع کند. آن را هنگامی برگزینید که رد حسابرسی باید نشان دهد چه کسی به چه چیزی وصل شده، چون نشست SSH برای هر کاربر و انتقال محلی مشترک سوابق بسیار متفاوتی باقی میگذارند.
سرانجام آن را هنگامی برگزینید که شبکه هدف نباید بدون دروازه خود سازمان از یک لپتاپ اصلاً در دسترس باشد. انتقال شخصی بهحکم طراحی از آن دروازه میگذرد، و دقیقاً به همین دلیل جای آن در سابقه تغییر است نه در تاریخچه پوسته.
بگذارید انتقال پرصدا شکست بخورد
از ExitOnForwardFailure=yes استفاده کنید تا بستن ناموفق نشست را متوقف کند، بهجای آنکه پوستهای باقی بگذارد که وصل بهنظر میرسد و چیزی منتقل نمیکند. بررسی کلید میزبان را روشن نگه دارید، و کلید یا عامل را به گذرواژه ترجیح دهید. سپس نشانی دقیقی را که نمایشگر به کار میبرد بیازمایید، چون نشست SSH کارآمد و اتصال صفحه کارآمد دو نتیجه متفاوتاند.
برای کارخواه بومی در macOS، نمایشگر از طریق نشانی محلی در دسترس است: open "vnc://127.0.0.1:15900". اگر پنجره باز شود و میزبان دور احراز هویت را رد کند، تونل درست است و مشکل در هدف است. اگر پنجره هرگز باز نشود، مشکل در شنونده یا پورت است.
وقتی کارتان تمام شد نشست را متوقف کنید، و پورت، سنگر، هدف و سیاست حساب را بنویسید. انتقالی که هیچکس مستندش نکرده شش ماه بعد از یک در پشتی قابل تشخیص نیست، و این قویترین دلیل برای نگهداشتن آن بهصورت کوچک، نامدار و موقت است.