
یک کاربر آزمایشگاه خانگی تجربه خود از استفاده روزمره از وبشل (Web Shell) داخلی پروکسموکس (Proxmox) را شرح داده و میگوید این ابزار تا حد زیادی جای SSH را برای او گرفته است. به گفته او، وبشل از همان ابتدا در دسترس است، تنظیمات پیچیدهای نمیخواهد و برای کارهای روزمره نگهداری از سرور خانگی بسیار راحتتر از اتصال از طریق کلاینت SSH عمل میکند.
دسترسی بدون نصب کلاینت
مهمترین مزیت وبشل این است که هیچ نصب و پیکربندی اولیهای لازم ندارد. کافی است مرورگر به میزبان دسترسی داشته باشد تا کاربر با یکی دو کلیک وارد شل شود. این کاربر آدرس وبشل را در نوار بوکمارک مرورگر خود نگه میدارد و به جای نصب کلاینت و کپی کردن کلیدهای SSH، صفحه وب را باز میکند و وارد میشود. چون آزمایشگاه او از طریق شبکه مش (Mesh VPN) در دسترس است، نوع سیستم عامل دستگاه نیز اهمیت چندانی ندارد، تا زمانی که عضو همان شبکه باشد.
مزیت زمینهای نیز بسیار مهم است. بسیاری از دلایلی که کاربر را به باز کردن شل وادار میکند، از همان رابط وب آغاز میشود؛ مثلاً ساخت کانتینر (Container). در صورت نیاز به پنجره دیگر، میتوان بدون ورود دوباره از طریق SSH، یک تب جدید در همان مرورگر باز کرد.
ترمینالی که تقریباً همه کارها را انجام میدهد
اگر تنها تجربه کاربر از کنسول مرورگر، نمای کند و شبیه اسکرینشات از نمایشگر یک ماشین مجازی باشد، شل گره (Node Shell) او را غافلگیر خواهد کرد. پروکسموکس سه نمایشگر برای آن ارائه میدهد: noVNC، SPICE و xterm.js که هر کدام نقاط قوت و ضعف خود را دارند. xterm.js همان چیزی است که هنگام باز کردن نمایشگر با گزینه Shell در بالای صفحه اجرا میشود؛ یک شبیهساز ترمینال (Terminal Emulator) واقعی در مرورگر با پشتیبانی از رنگ، اسکرولبک (Scrollback)، تغییر اندازه و متنی که میتوان انتخاب و کپی کرد.
در کارهای روزمره، این وبشل همه کارهایی را انجام میدهد که کاربر پیشتر برایشان از SSH استفاده میکرد: آپدیت بستهها (Package Updates)، بررسی وضعیت zpool و scrub، جستوجو در journalctl، مدیریت ماشینهای مجازی و کانتینرها با qm و pct و باز گذاشتن htop هنگام اجرای یک کار سنگین. به گفته او، این همان شل روی همان ماشین است و تنها روش ورود تفاوت کرده است.
از نظر امنیتی نیز چون رابط وب فقط در شبکه محلی یا از طریق VPN در دسترس است، نقاط ورود کمتری برای بررسی توسط مهاجم وجود دارد. پروکسموکس همچنین از احراز هویت دو مرحلهای (Two-Factor Authentication) پشتیبانی میکند که در صورت نیاز لایه حفاظتی دیگری اضافه میکند.
جاهایی که SSH هنوز برنده است
کنار گذاشتن کامل SSH حتی برای کاربر خانگی نیز اغراقآمیز است. شاید مهمترین نمونه نیاز به SSH، انتقال فایل باشد. وبشل معادلی برای scp، rsync یا SFTP ندارد؛ بنابراین هر کاری که به انتقال داده به میزبان یا از آن مربوط باشد، همچنان از طریق SSH انجام میشود. ابزارهایی که به اتصال SSH انتظار دارند نیز از این قاعده مستثنا نیستند؛ مانند افزونه VS Code Remote SSH یا هر نوع اتوماسیون از ماشین دیگر.
محدودیتهای وبشل
- مهمترین محدودیت، تداوم فرمان است: اگر تبی که فرمانی در آن اجرا میشود بسته شود، آن فرمان نیز پایان مییابد، مگر اینکه در tmux اجرا شده باشد.
- میانبرهای مرورگر میتوانند مزاحم شوند؛ مثلاً Ctrl+W که در ترمینال برای حذف کلمه قبلی استفاده میشود، در وبشل فقط تب را میبندد.
- وابستگی به وب استک (Web Stack) نیز وجود دارد. اگر pveproxy پاسخ ندهد یا آپدیتی رابط را خراب کند، شل نیز از دست میرود و رفع مشکل تنها با SSH یا کنسول فیزیکی ممکن است.
- همه دستگاههای آزمایشگاه خانگی پروکسموکس اجرا نمیکنند. این کاربر یک ماشین Ubuntu با نصب bare-metal برای بنچمارک دارد که وبشل ندارد و تنها راه ورود به آن SSH است.
نتیجه: ابزار مناسب برای هر کار
برای انجام وظایف مدیریتی، رابط وب و شل پروکسموکس بسیار کارآمد هستند. اما زمانی که نیاز به انتقال فایل یا یکپارچهسازی اتوماسیون پیش میآید، راهاندازی کلید SSH و سازوکارهای احراز هویت منطقی میشود. برای دستگاههایی که از قبل کلید SSH رویشان تنظیم شده است نیز کاربر به دلیل وابستگی به میانبرهای صفحهکلید، احتمالاً ابتدا سراغ SSH میرود. در نهایت، وبشل و SSH ابزارهایی برای کارهای متفاوتاند، نه جایگزین کامل یکدیگر.