ساخت پروکسی SOCKS محلی با SSH
از انتقال پویای OpenSSH روی 127.0.0.1 استفاده کنید، فرایند را در طول نشست فعال نگه دارید و شنونده سالم را از مقصد در دسترس جدا بدانید.
با دسترسی SSH مجاز به سرور، OpenSSH میتواند شنونده SOCKS روی رایانه شما بسازد. اتصال SSH ترافیک هدایتشده را حمل میکند و سرور راه دور به مقصد وصل میشود.
شنونده فقط روی loopback
ssh -N -T -o ControlPath=none -o ForkAfterAuthentication=no -o ExitOnForwardFailure=yes -D 127.0.0.1:1080 [email protected]
حساب و نام میزبان را عوض کنید. سرور SSH باید انتقال را مجاز کند؛ مدیر میتواند انتقال و مقصدها را مستقل از ورود به حساب محدود کند.
-D انتقال پویا ایجاد میکند و نشانی loopback صریح شنونده را به همین دستگاه محدود میکند. -N فرمان راه دور و -T شبهترمینال را حذف میکند. ControlPath=none از master اشتراکی موجود استفاده نمیکند و 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 مورد نظر باید مالک یک شنونده loopback باشد. درخواست از طریق آن بررسی میکند که سرور راه دور هم به هدف میرسد. برای بررسی خروجی مشاهدهشده، از مقصدی تحت کنترل خود استفاده کنید.
عمر نشست
Ctrl-C فرایند SSH، شنونده و اتصالهای هدایتشده را میبندد. قطع SSH نیز پروکسی را از دسترس خارج میکند.
ExitOnForwardFailure راهاندازی را بررسی میکند. با هر شکست بعدی اتصال مقصد، SSH را پایان نمیدهد؛ بنابراین نشست، پورت محلی و درخواست مقصد را جدا بررسی کنید.