Skip to main content

Openssh Server

در این مستند بررسی می کنیم که چگونه با استفاده از Openssh Server از سیستم شخصی‌تان به آدرس داخلی سرویس‌ها و پادهای یک Namespace دسترسی داشته باشید.

ابتدا به قسمت ساخت اپ جدید بروید و روی گزینه داکر کامپوز کلیک کنید. سپس قطعه کد زیر را در کادر مربوط به فایل docker-compose.yml کپی کنید و روی دکمه تنظیمات اپ openssh-server کلیک نمایید.

version: "3.2"
services:
openssh-server:
image: registry.hamdocker.ir/public/openssh-server:version-9.1_p1-r2
container_name: openssh-server
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Tehran
- SUDO_ACCESS=false
- PASSWORD_ACCESS=true
- USER_PASSWORD=password
- USER_NAME=username
ports:
- 2222:2222

سپس روی دکمه تنظیمات اپ کلیک نمایید. ابتدا نامی برای اپ خود انتخاب کنید. سپس در قسمت Environmentl Variables مقادیر USER_NAME (نام کاربری) و USER_PASSWORD (گذرواژه) را تنظیم کنید.

سپس به مرحله انتخاب پلن رفته و کلاستر و Namespace مربوطه را انتخاب کنید. سپس منابع اپ مورد نظر را تعیین نمایید و روی دکمه ساخت اپ کلیک کنید.

پس از ساخته شدن اپ، در صفحه جزئیات اپ به تب پورت‌ها بروید و گزینه «اپ آی‌پی خارجی داشته باشد.» را فعال کنید و روی کلید ذخیره تغییرات کلیک نمایید.

اکنون روی سیستم شخصی‌تان نرم افزار sshuttle را نصب نمایید. می توانید برای جزئیات بیشتر صفحه‌ی sshuttle در گیت‌هاب را مشاهده کنید.

پس از نصب sshuttle یک session در ترمینال سیستم شخصی تان باز کنید و دستور زیر را وارد کنید.

sshuttle --disable-ipv6 -r $USER_NAME@$OPENSSH_EXT_ADDR:$OPENSSH_EXT_PORT 10.0.0.0/8

مقادیر متغیر ها مطابق زیر باید پر شوند:

  • USER_NAME: نام کاربری که به عنوان متغیر محیطی در اپ Openssh-server تنظیم شده است.
  • OPENSSH_EXT_ADDR: آدرس خارجی اپ openssh-server که در تب پورت‌های اپ قابل مشاهده است.
  • OPENSSH_EXT_PORT: پورت خارجی اپ openssh-server که در تب پورت‌های اپ قابل مشاهده است.

با اجرای این دستور ابتدا باید گذرواژه سیستم شخصی تان را وارد کنید. پس از آن گذرواژه ای که در قسمت متغیرهای محیطی ست کرده اید را باید وارد کنید. سپس منتظر بمانید تا عبارت c : Connected to server را مشاهده کنید.

سپس یک session دیگر در ترمینال باز کنید. اکنون می توانید به سرویس های داخل Namespace از طریق آی‌پی داخل کلاستر آنها (رنج 10.0.0.0) دسترسی داشته باشید. پس از پایان نیاز تان به دسترسی به اپ های داخل Namespace، حتما session ترمینال که در آن sshuttle در حال اجرا است را ببندید یا با Ctrl+z به آن خاتمه دهید.

برای مشاهده جزئیات ایمیج openssh-server به صفحه‌ی داکرهاب آن مراجعه کنید.