یک شنوندهٔ SOCKS محلی در برخی شبکه‌ها سودمند است و در برخی دیگر وجود ندارد. OpenSSH می‌تواند فرمان پروکسی را به‌صورت شرطی انتخاب کند، بدون آنکه این انتخاب بر همهٔ میزبان‌ها اعمال شود.

برای OpenSSH با قالب OpenBSD از nc، یک پیکربندی نمونهٔ کارخواه چنین است:

Host work-server
    HostName ssh.example.net
    User alex

Match originalhost work-server exec "nc -z -w 1 127.0.0.1 1080"
    ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p

Match all

originalhost بررسی را به نامی محدود می‌کند که در خط فرمان SSH داده شده است. exec هنگامی مطابقت می‌کند که فرمانش با موفقیت پایان یابد. Match all پایانی آن دامنهٔ شرطی را برای تنظیمات بعدی پایان می‌دهد.

این فرض می‌کند که هیچ تنظیم معتبر پیشینی پیش‌تر فرمان پروکسی یا مسیر پرش ناسازگاری را انتخاب نکرده است. SSH معمولاً نخستین مقدار به‌دست‌آمده برای یک گزینه را به کار می‌برد، پس یک پیش‌فرض گسترده در بالای فایل می‌تواند مانع شود شرطی بعدی اثری را که انتظار دارید بگذارد.

سوکت شنونده وعده‌ای فروتنانه است

این آزمون دسترسی TCP به یک درگاه محلی را بررسی می‌کند. نه مذاکرهٔ SOCKS را کامل می‌کند، نه اتصال مقصد مطلوب را برقرار می‌سازد، و نه ثابت می‌کند کدام برنامه مالک آن درگاه است. شنونده می‌تواند پس از بررسی هم ناپدید شود.

مهلت زمانی آزمون ناموفق را محدود نگه می‌دارد. گزینه‌های نمایش‌داده‌شده به رابط nc در OpenBSD تعلق دارند؛ برنامه‌های دیگری با همان نام فایل ممکن است گزینه‌های متفاوتی ارائه دهند.

وقتی شرط مطابقت ندارد، این نمونه اتصال را بدون این ProxyCommand رها می‌کند و مسیر معمولش را مجاز می‌سازد. این تنها زمانی مناسب است که دسترسی مستقیم مجاز باشد. سیاست پروکسی اجباری نباید از بررسی دسترس‌پذیری به‌عنوان اجازهٔ گریز به مسیری دیگر استفاده کند.

نام میزبان SSH مقصد و بررسی‌های کلید میزبان همچنان سرور مقصد را شناسایی می‌کنند. انتخاب یک کمک‌کنندهٔ انتقال دلیلی برای پذیرش کلید میزبان غیرمنتظره نیست.

مقالات مرتبط