CH-J Server Managerمدیریت سرور از طریق SSH
منو
همهٔ راهنماها و مقاله‌ها ←

چگونه چند سرور SSH را هم‌زمان مدیریت کنیم

با نام‌های مستعار SSH و ترمینال‌های کنار هم، چند سرور را منظم نگه دارید و از اجرای دستور روی سرور اشتباه جلوگیری کنید.

برای هر سرور نام روشنی انتخاب کنید

نام‌گذاری مستعار با الگویی یکسان، در زمان صرفه‌جویی می‌کند و خطاها را کاهش می‌دهد. در ~/.ssh/config، آدرس، کاربر، پورت و کلید هر سرور را زیر یک نام نگه دارید و نقش و محیط را هم در آن نام بگنجانید تا محیط عملیاتی در یک نگاه مشخص باشد. گزینه‌هایی که برای میزبان مشخصی تنظیم نمی‌کنید، از بلوک Host * گرفته می‌شوند.

Host prod-web-1
    HostName 203.0.113.10
    User admin
    IdentityFile ~/.ssh/id_ed25519_prod
    IdentitiesOnly yes

Host test-web-1
    HostName 203.0.113.20
    User admin

سرور را اشتباه نگیرید

هنگام کار روی چند سرور، به‌راحتی ممکن است دستوری را در پنجرهٔ اشتباه تایپ کنید. نام میزبان را در اعلان فرمان نشان دهید، برای محیط عملیاتی از رنگ متفاوتی برای اعلان استفاده کنید و پیش از هر اقدام مخرب بررسی کنید کجا هستید. خطرناک‌ترین مرحله‌ها را زمانی انجام دهید که فقط یک ترمینال باز است.

hostname -f; whoami; pwd

کارهای طولانی را در حال اجرا نگه دارید

قطع اتصال معمولاً پوسته و دستورهای در حال اجرای آن را پایان می‌دهد. کارهای طولانی را داخل tmux یا screen روی سرور اجرا کنید تا ادامه پیدا کنند و بتوانید دوباره به آن‌ها وصل شوید. keepalive در کلاینت، اتصال قطع‌شده را زودتر تشخیص می‌دهد، اما به‌خودی‌خود کار را در حال اجرا نگه نمی‌دارد.

tmux new -s upgrade
tmux attach -t upgrade

بدانید کدام سرورها پاسخ می‌دهند

پیش از شروع کار روی چند سرور، بررسی کنید که پورت‌های SSH آن‌ها پاسخ می‌دهند. بسته بودن پورت همیشه به معنی از کار افتادن سرور نیست: ممکن است سرویس متوقف شده باشد یا فایروال شبکهٔ شما را مسدود کرده باشد.

for host in prod-web-1 test-web-1; do
    ssh -o ConnectTimeout=5 "$host" 'hostname; uptime' || echo "$host: no connection"
done

چند سرور در CH-J Server Manager

پروفایل‌های سرور در یک مخزن رمزگذاری‌شدهٔ محلی ذخیره می‌شوند و چند نشست SSH می‌توانند هم‌زمان باز باشند. در Alpha 0.1.1، دو ترمینال کنار هم یا بالا و پایین قرار می‌گیرند، روی یک یا دو سرور، و پنهان کردن ترمینال نشست آن را پایان نمی‌دهد. ماژول‌ها وقتی تنها یک اتصال وجود دارد خودکار از آن استفاده می‌کنند و وقتی چند اتصال باز باشد از شما می‌پرسند، پس هیچ ماژولی خودبه‌خود به سرور دیگری نمی‌رود. قفل کردن مخزن، نشست‌های SSH را قطع می‌کند؛ بنابراین ابتدا کار در حال اجرا را تمام کنید یا آن را در tmux نگه دارید.

دسترس‌پذیری در یک نگاه

در Alpha 0.1.1، پایشگر دسترس‌پذیری سرورهای ذخیره‌شده را در پس‌زمینه با اتصال TCP به پورت SSH بررسی می‌کند؛ به‌طور پیش‌فرض هر 12 ثانیه و بدون ورود به حساب. آفلاین در اینجا یعنی پورت SSH از شبکهٔ شما قابل دسترسی نیست؛ خود سرور ممکن است همچنان در حال کار باشد.

مستندات مفصل

OpenSSH: ssh_config ←

باز کردن قفل بیومتریک و امنیت ←