انتقال دینامیک معکوس SSH: ساخت شنونده SOCKS راه دور
یک شنونده SOCKS دینامیک معکوس روی سرور SSH بسازید که اتصالهای مقصد از سمت کلاینت باز میشوند.
معمولاً یک تونل SSH SOCKS خروجی شبکه سرور را به یک لپتاپ میدهد. انتقال دینامیک معکوس این چیدمان را برعکس میکند: برنامهای روی ماشین راه دور میتواند از شبکهای که کلاینت SSH شما در اختیار دارد استفاده کند.
روی کلاینت OpenSSH که انتقال راه دور بدون مقصد را پشتیبانی میکند:
ssh -N -R 127.0.0.1:1080 [email protected]
شنونده SOCKS روی remote.example.net است و به نشانی loopback خودش مقید شده است. برنامههای آنجا از 127.0.0.1:1080 استفاده میکنند. اتصالهای مقصد از طریق SSH برمیگردند و از سمتی که کلاینت شما اجرا میشود باز میشوند.
پیش از IP، جهت را بخوانید
مستندات -R مقصد حذفشده را معنادار میکند. مشخصهای که port:host:hostport دارد در عوض یک انتقال ثابت است. فرض نکنید که کلاینت قدیمی شکل دینامیک کوتاهتر را پشتیبانی میکند.
IP بیرونی همان چیزی است که شبکه سمت کلاینت شما برای آن اتصالها به کار میبرد. لپتاپی پشت یک روتر خانگی ممکن است از نشانی عمومی ترجمهشده روتر خارج شود. این بهطور خودکار IP سرور SSH نیست، و نه نشانیای که مستقیماً به لپتاپ داده شده باشد.
شنونده راه دور را محدود نگه دارید. اتصال با نویسه عام میتواند به ماشینهای دیگر اجازه دهد شبکه سمت کلاینت شما را بهعنوان خروجی به کار ببرند، بسته به سیاست سرور. حتی loopback هم میتواند برای دیگر فرآیندهای واجد شرایط روی میزبان راه دور در دسترس باشد؛ این یک راز مخصوص یک فرآیند نیست.
برای مجموعهای محدود از مقصدها، PermitRemoteOpen و سیاست انتقال سرور را بررسی کنید. مسیر همچنین به آن بستگی دارد که کلاینت شما آنلاین بماند. وقتی آن اتصال بسته شود، مسیر پروکسی راه دور از بین میرود. انتقال معکوس تغییر میدهد که اتصالها از کجا سرچشمه میگیرند؛ پروکسی مستقلی مستقل از نشست SSH فراهم نمیکند.