بلاگ/راه‌اندازی Cockpit برای مدیریت سرور لینوکس از طریق مرورگر: نصب، امکانات و دسترسی امن
به‌روز شده

راه‌اندازی Cockpit برای مدیریت سرور لینوکس از طریق مرورگر: نصب، امکانات و دسترسی امن

1405/06/260 بازدید
راه‌اندازی Cockpit برای مدیریت سرور لینوکس از طریق مرورگر: نصب، امکانات و دسترسی امن

راه‌اندازی Cockpit برای مدیریت سرور لینوکس از طریق مرورگر: نصب، امکانات و دسترسی امن

مدیریت یک سرور لینوکسی فقط از طریق ترمینال، برای کارهای روزمره مثل نگاه کردن به میزان مصرف RAM یا بررسی وضعیت یک سرویس، گاهی زمان‌گیر است. Cockpit یک داشبورد وب رایگان و متن‌باز است که همین کارها را از طریق مرورگر و بدون نیاز به یک نشست SSH همیشه‌باز انجام می‌دهد. این مقاله نصب Cockpit روی توزیع‌های رایج لینوکس، امکانات اصلی آن و روش‌های امن‌سازی دسترسی را قدم‌به‌قدم توضیح می‌دهد.

داشبورد Cockpit برای مدیریت سرور لینوکس از طریق مرورگر

Cockpit چیست و چه مشکلی را حل می‌کند

Cockpit یک ابزار مدیریت سرور مبتنی بر وب است که توسط Red Hat توسعه داده شده و روی اکثر توزیع‌های لینوکس اجرا می‌شود. برخلاف پنل‌های سنگین‌تر مثل cPanel یا Plesk که برای هاستینگ چندکاربره طراحی شده‌اند، Cockpit سبک است و مستقیم روی خود سرور نصب می‌شود، بدون پایگاه‌داده یا سرویس جانبی.

هر تغییری که در داشبورد Cockpit انجام می‌شود، از همان ابزارهای سیستمی استاندارد (systemd، NetworkManager، LVM و غیره) عبور می‌کند. یعنی اگر بعداً بخواهید از خط فرمان استفاده کنید، هیچ تناقضی با تغییراتی که از طریق مرورگر اعمال کرده‌اید وجود نخواهد داشت.

کاربرد اصلی آن برای کسانی است که:

  • می‌خواهند وضعیت لحظه‌ای CPU، RAM و دیسک را بدون اجرای چند دستور جداگانه ببینند.
  • به یک کاربر کم‌تجربه‌تر تیم نیاز دارند برخی کارهای محدود مدیریتی را انجام دهد، بدون دسترسی کامل به ترمینال.
  • سرور را از چند دستگاه مختلف (لپ‌تاپ، موبایل) مدیریت می‌کنند و نصب و تنظیم کلاینت SSH روی هرکدام دردسر است.

پیش‌نیازهای نصب Cockpit

قبل از نصب، این موارد را بررسی کنید:

  • دسترسی root یا sudo روی سرور.
  • پورت ۹۰۹۰ باز باشد (پورت پیش‌فرض Cockpit) یا حداقل امکان باز کردن آن در فایروال را داشته باشید.
  • توزیع لینوکس یکی از موارد پشتیبانی‌شده باشد: Ubuntu، Debian، CentOS Stream، RHEL، Rocky Linux، AlmaLinux، Fedora یا openSUSE.

Cockpit روی هر VPS یا سرور اختصاصی با حداقل ۵۱۲ مگابایت RAM آزاد قابل اجراست؛ خود سرویس منابع زیادی مصرف نمی‌کند.

نصب Cockpit روی توزیع‌های مختلف لینوکس

روش نصب بین خانواده Debian و خانواده RHEL کمی فرق دارد.

Ubuntu و Debian

sudo apt update
sudo apt install -y cockpit
sudo systemctl enable --now cockpit.socket

روی Ubuntu 20.04 به بعد و Debian 11 به بعد، پکیج cockpit در مخازن رسمی موجود است و نیازی به مخزن اضافه نیست.

CentOS، Rocky Linux و AlmaLinux (خانواده RHEL)

sudo dnf install -y cockpit
sudo systemctl enable --now cockpit.socket
sudo firewall-cmd --add-service=cockpit --permanent
sudo firewall-cmd --reload

روی این توزیع‌ها معمولاً firewalld به‌صورت پیش‌فرض فعال است، بنابراین دو خط آخر برای باز کردن دسترسی ضروری هستند.

فعال‌سازی سرویس و دسترسی به داشبورد از مرورگر

بعد از نصب، سرویس cockpit.socket را فعال کنید تا Cockpit به‌صورت on-demand بالا بیاید (فقط وقتی درخواستی می‌رسد، پردازش اجرا می‌شود):

sudo systemctl status cockpit.socket

سپس در مرورگر به آدرس زیر بروید (به‌جای IP، آدرس واقعی سرور خود را قرار دهید):

https://IP-SERVER:9090

در اولین بازدید، مرورگر هشدار گواهی نامعتبر می‌دهد، چون Cockpit به‌صورت پیش‌فرض یک گواهی self-signed می‌سازد. برای تست داخلی می‌توانید این هشدار را رد کنید، اما برای استفاده مستمر بهتر است گواهی معتبر جایگزین کنید (در بخش امن‌سازی توضیح داده شده). با وارد کردن نام‌کاربری و رمز عبور همان کاربر لینوکسی سرور، وارد داشبورد می‌شوید.

امکانات اصلی داشبورد Cockpit

مانیتورینگ CPU، RAM و شبکه

صفحه اصلی داشبورد نمودارهای زنده مصرف CPU، حافظه، دیسک و ترافیک شبکه را نمایش می‌دهد. برای تشخیص سریع اینکه چرا سرور کند شده، این نمودارها معمولاً سریع‌تر از اجرای چند دستور جداگانه مثل top و iostat هستند. این نمودارها فقط وضعیت لحظه‌ای را نشان می‌دهند؛ برای نگهداری تاریخچه و هشدار خودکار روی مصرف منابع، ترکیب Cockpit با مانیتورینگ سرور با Prometheus و Grafana گزینه کامل‌تری است.

نمودارهای زنده مصرف CPU، حافظه و شبکه در صفحه اصلی داشبورد Cockpit

مدیریت استوریج و دیسک‌ها

بخش Storage امکان مشاهده پارتیشن‌ها، ایجاد و مدیریت LVM، فرمت کردن دیسک و mount کردن حجم‌های جدید را بدون خط فرمان فراهم می‌کند. برای کسی که کمتر با LVM کار کرده، این بخش خطای تایپی در دستورات را حذف می‌کند.

مشاهده و جست‌وجوی لاگ‌ها

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

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

از همین داشبورد می‌توان کاربران لینوکسی جدید ساخت، رمز عبور تغییر داد، سرویس‌های systemd را start/stop/restart کرد و وضعیت به‌روزرسانی‌های سیستم را بررسی کرد. Cockpit همچنین افزونه‌هایی برای مدیریت ماشین‌های مجازی (Cockpit Machines با libvirt) و کانتینرهای Podman دارد که به‌صورت جدا نصب می‌شوند.

امن‌سازی دسترسی به Cockpit

چون Cockpit دسترسی سطح root به سرور می‌دهد، امن‌سازی آن اهمیت زیادی دارد.

  • محدود کردن دسترسی با فایروال: پورت ۹۰۹۰ را فقط برای IPهای مشخص (مثلاً IP دفتر یا VPN تیم) باز کنید، نه برای کل اینترنت: bash sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="YOUR_IP/32" port protocol="tcp" port="9090" accept'
  • جایگزینی گواهی self-signed با گواهی معتبر: گواهی Let's Encrypt را در /etc/cockpit/ws-certs.d/ قرار دهید تا هشدار مرورگر برطرف شود و ترافیک واقعاً با گواهی معتبر رمزنگاری شود.
  • غیرفعال کردن ورود مستقیم root: به جای لاگین با root، یک کاربر جداگانه با دسترسی sudo بسازید و برای عملیات حساس از همان استفاده کنید؛ همین اصل در امن‌سازی دسترسی SSH به سرور لینوکس هم کاربرد دارد.
  • فعال‌سازی احراز هویت دو مرحله‌ای در سطح سیستم: چون Cockpit از همان مکانیزم PAM سیستم استفاده می‌کند، فعال کردن 2FA روی PAM (مثلاً با Google Authenticator) مستقیماً روی لاگین Cockpit هم اثر می‌گذارد.
  • بستن پورت ۹۰۹۰ پس از استفاده موقت: اگر Cockpit فقط برای کارهای مقطعی لازم است، می‌توانید سرویس را با systemctl stop cockpit.socket خاموش کنید و فقط هنگام نیاز روشنش کنید.

مقایسه Cockpit با روش‌های دیگر مدیریت سرور

قبل از تصمیم‌گیری، مفید است ببینید Cockpit در کجای طیف ابزارهای مدیریت سرور قرار می‌گیرد.

ویژگیفقط SSHCockpitWebmin/cPanel
نیاز به نصب سرویس اضافهخیربله (سبک)بله (سنگین‌تر)
مانیتورینگ گرافیکی زندهخیربلهبله
مصرف منابع سرورتقریباً صفرکممتوسط تا زیاد
مناسب برای چند کاربر با نقش محدودسخت (نیاز به تنظیم دستی)متوسطبله، هدف اصلی طراحی
مدیریت هاستینگ اشتراکی (دامنه، ایمیل و...)خیرخیربله

Cockpit جای SSH را نمی‌گیرد؛ برای اسکریپت‌نویسی و اتوماسیون همچنان باید از ترمینال استفاده کنید. جایگاه آن بین کار خام با SSH و پنل‌های سنگین هاستینگ است: برای مانیتورینگ روزمره و کارهای مدیریتی نیمه‌بصری روی یک VPS یا سرور اختصاصی، بدون اورهد یک پنل کامل.

چند نکته عملی برای استفاده روزمره

اگر Cockpit را روی چند سرور همزمان مدیریت می‌کنید، افزونه Cockpit Dashboard امکان افزودن سرورهای دیگر به همان رابط را می‌دهد تا لازم نباشد برای هر سرور جدا لاگین کنید. همچنین قبل از هر به‌روزرسانی بزرگ سیستم، بخش Software Updates در Cockpit فهرست کامل پکیج‌های قابل ارتقا را نشان می‌دهد؛ نگاه کردن به این فهرست پیش از اجرای apt upgrade یا dnf update روی سرور پروداکشن، از ارتقای ناخواسته یک پکیج حساس جلوگیری می‌کند.

جمع‌بندی

نصب Cockpit روی سرور لینوکس چند دقیقه بیشتر طول نمی‌کشد و بلافاصله یک داشبورد کامل برای مانیتورینگ منابع، مدیریت استوریج، بررسی لاگ‌ها و کنترل کاربران در اختیار می‌گذارد. نکته اصلی، محدود نگه‌داشتن دسترسی به آن با فایروال و گواهی معتبر است تا این راحتی به یک نقطه ضعف امنیتی تبدیل نشود.

اگر برای اجرای این تنظیمات به یک زیرساخت پایدار با دسترسی root کامل نیاز دارید، سرویس‌های VPS ابری آریانت بستر مناسبی برای نصب و تست Cockpit و سایر ابزارهای مدیریت سرور فراهم می‌کنند.