Port Forwarding یا SSh Port Forwarding اغلب به عنوان SSH Tunneling نامیده میشود و این دو اصطلاح معمولا به جای یکدیگر استفاده میشوند.
SSH انکریپت شده “تونل” به عنوان یک کشتی برای انتقال دادههای مختلف و تحویل ایمن به سیستم از راه دور عمل میکند.این روش به طور منظم برای دور زدن پروتکلهای امنیتی فایروال استاندارد استفاده میشود. پورت فورواردینگ جزء اکثر برنامههای سرویس گیرنده و سرور SSH است.
در این مقاله قصد داریم شما را با نحوه ی استفاده از openSSH در لینوکس و putty در ویندوز به منظور فعالسازی پورت فورواردینگ به صورت لوکال، ریموت یا پویا آشنا نماییم.
نحوه استفاده از Local Port Forwarding
یک شبکه به طور کلی اجازه دسترسی از راه دور SSH را نمیدهد. این یک محدودیت شدید در یک محیط توزیع شده مدرن خواهد بود. سازمانها معمولاً این مشکل را با راهاندازی یک سرور SSH واسطه که اصطلاحا ‘Jump’ نامیده میشود برای پذیرش اتصالات SSH راه دور حل میکنند.
کلاینت SSH لوکال شما با سرور SSH راه دور ارتباط برقرار میکند. سپس اتصال به منبعی در شبکه داخلی که قابل اعتماد است فوروارد میشود. اتصالات SSH ایجاد میشوند و تلاشهای امنیتی میتوانند به جای منابع فردی در شبکه، بر سرور SSH واسطه متمرکز شوند.
Local Port Forwarding در OpenSSH
برای استفاده از SSH tunneling در لینوکس، باید شماره پورت مبدأ و مقصد و همچنین مکان سرور مقصد را به کاربر خود ارائه دهید. مکان میتواند یک آدرس IP یا یک هاست نیم باشد.
سینتکس اصلی برای کامند لوکال پورت فوروارد ساده است:
ssh -L local_port:destination_server_ip:remote_port ssh_server_hostname
در کامند بالا:
:SSH برنامه کلاینت SSH را روی ماشین لوکال راه اندازی میکند و یک اتصال امن به سرور SSH راه دور برقرار می کند.
-L local_port:destination_server_ip:remote_port: پورت لوکال در سرور کلاینت به درگاه سرور راه دور مقصد هدایت میشود.
ssh_server_hostname: این عنصر نحو نشان دهنده نام میزبان یا آدرس IP سرور SSH راه دور است.
به عنوان مثال کامند شما در پایان به شکل زیر میباشد:
ssh –L 5901:188.17.0.5:4492 serverir@ssh.server.com
در مثال بالا، تمام ترافیک ارسال شده به پورت 5901 در سرور شما به پورت 4492 در سرور راه دور با آیپی 188.17.0.5 هدایت میشود.
Local Port Forwarding با نرم افزار PuTTY
PuTTY یک سرویس گیرنده SSH کاربر پسند برای ویندوز است. SSH Tunneling لوکال را با دنبال کردن مراحل زیر پیکربندی کنید:
- هنگامی که برنامه PuTTY را راه اندازی میکنید، صفحه Sessions به شما امکان میدهد نام میزبان یا آدرس IP و شماره پورت سرور SSH مقصد را وارد کنید:
- از فهرست در سمت چپ برای رفتن به Connection > SSH > Tunnels استفاده کنید.
- برای تعیین نوع SSH پورت فورواردینگ، Local را انتخاب کنید.
- شماره پورت لوکال خود را در قسمت Source port وارد کنید.
- آدرس مقصد و شماره پورت را در قسمت Destination تایپ کنید. از فرمت زیر استفاده کنید: destination_server_ip:remote_port
- پس از تأیید صحت اطلاعات وارد شده، افزودن را انتخاب کنید.
- پارامترهای اتصال اکنون همه تنظیم شده است. گزینه Open پورت SSH لوکال را راه اندازی میکند.
در روش های پورت فورواردنیگ به صورت های ریموت و دینامیک به صورت کلی کانفیگ به صورت بالا میباشد با تغییراتی جزئی.
در صورتی که قصد پورت فورواردینگ به صورت ریموت از طریق open ssh دارید کامند شما به صورت زیر میباشد:
ssh -R remote_port:localhost:local_port
ssh_server_hostname
و در صورتی که قصد پورت فورواردینگ از طریق putty را دارید تنها نوع Tunneling را بر روی Remote قرار دهید.
در صورتی که قصد پورت فورواردینگ به صورت دینامیک از طریق open ssh دارید کامند شما به صورت زیر میباشد:
ssh -R remote_port:localhost:local_port
ssh_server_hostname
و در صورتی که قصد پورت فورواردینگ از طریق putty را دارید تنها نوع Tunneling را بر روی Dynamic قرار دهید البته قابل ذکر است که برای اینکه ارسال پویا کار کند، باید هر برنامه را برای سرور پراکسی SOCKS پیکربندی و فعال کنید.
سپاس از همراهی شما کاربران گرامی در صورت وجود سوال میتوانید از طریق بخش نظرات با ما در ارتباط باشید.