مع وصول SSH مصرح به إلى خادم، يستطيع OpenSSH إنشاء مستمع SOCKS على حاسوبك. ينقل اتصال SSH حركة البيانات المعاد توجيهها، ويتصل الخادم البعيد بالوجهة.

مستمع على الاسترجاع المحلي فقط

ssh -N -T -o ControlPath=none -o ForkAfterAuthentication=no -o ExitOnForwardFailure=yes -D 127.0.0.1:1080 [email protected]

استبدل الحساب واسم المضيف. يجب أن يسمح خادم SSH بإعادة التوجيه؛ ويمكن للمسؤول تقييد إعادة التوجيه والوجهات مستقلًا عن تسجيل دخول الحساب.

ينشئ -D إعادة توجيه ديناميكية، ويحصر عنوان الاسترجاع الصريح المستمع في هذا الجهاز. يحذف -N الأمر البعيد، ويحذف -T الطرفية الزائفة. يتجنب ControlPath=none الاتصال الرئيسي المشترك الموجود، ويبقي ForkAfterAuthentication=no هذا الاستدعاء في الواجهة الأمامية.

أبقِ العملية نشطة أثناء استخدام الوكيل. إذا كان المنفذ 1080 مشغولًا، فاختر منفذًا مرتفعًا آخر غير مستخدم وحدّث العميل. يجعل ExitOnForwardFailure=yes SSH يخرج إن تعذر إنشاء المستمع.

استخدام نقطة SOCKS

curl --proxy socks5h://127.0.0.1:1080 --noproxy '' --connect-timeout 5 --max-time 15 https://example.com/

يفوض هذا الطلب معالجة اسم الوجهة عبر SOCKS5. تحتاج التطبيقات الأخرى إعداد SOCKS خاصًا بها؛ لا يستطيع حقل وكيل HTTP التحدث ببروتوكول SOCKS مع هذا المستمع.

للتحقق من العملية التي تملك المنفذ:

ss -ltnp 'sport = :1080'

ينبغي أن تملك عملية SSH المقصودة مستمع استرجاع محلي. يختبر الطلب عبره قدرة الخادم البعيد على الوصول إلى الهدف أيضًا. استخدم وجهة تتحكم بها عند الحاجة لفحص عنوان الخروج الملحوظ.

عمر الجلسة

يغلق Ctrl-C عملية SSH والمستمع والاتصالات المعاد توجيهها. وانقطاع SSH يجعل الوكيل غير متاح أيضًا.

يفحص ExitOnForwardFailure الإعداد الأولي. ولا ينهي SSH كلما فشل اتصال لاحق بالوجهة؛ لذا شخّص الجلسة والمنفذ المحلي وطلب الوجهة كلًا على حدة.

مقالات ذات صلة