تثبيت Webmin على Ubuntu 24.04 وتأمينه
ثبّت Webmin على Ubuntu 24.04 ثم أمّنه عبر نفق SSH أو قائمة IP، وشهادة Let's Encrypt حقيقية، والمصادقة الثنائية، وFail2ban للمنفذ 10000.
ما الذي ستبنيه
Webmin لوحة تحكم عبر الويب توفّر واجهة متصفح لخادم Linux بالكامل، بما في ذلك المستخدمون، والحزم، ومهام cron، وجدار الحماية، وApache، وBIND، والأقراص، ومئات الوحدات الأخرى. ويمكن الوصول إليها عبر HTTPS على المنفذ 10000. يتكوّن التثبيت نفسه من ثلاثة أوامر ويستغرق نحو دقيقة واحدة. والسبب في أن هذا الدليل يخصّص معظم طوله للنصف الثاني هو أن Webmin يسجّل الدخول بصفة root ويمكنه تنفيذ أي إجراء يستطيع root تنفيذه. لا يُعد Webmin المفتوح على نطاق واسع أو غير المصادق عليه «خطراً تجب إدارته»، بل يعني اختراق الخادم بالكامل مع صفحة تسجيل دخول أمامه. لذلك ثبّته خلال عشر دقائق، ثم خصّص بقية الساعة للتأكد من أنك وحدك تستطيع الوصول إليه.
المتطلبات الأساسية وتحذير صريح
تحتاج إلى KVM VPS جديد يعمل بنظام Ubuntu 24.04، مع حساب root أو مستخدم يملك صلاحيات sudo. Webmin مكتوب بلغة Perl وخفيف، وتكفيه ذاكرة RAM بسعة 1 GB، كما يستهلك عند الخمول أقل بكثير من ربع GB. يستمع إلى TCP على المنفذ 10000 عبر خادم الويب المضمّن الخاص به (miniserv.pl)، وليس عبر Apache أو nginx، لذلك لا تحتاج إلى تثبيت أي شيء آخر أولاً.
يجب اتخاذ قرارين قبل البدء. أولاً، حدّد الحساب الذي ستسجّل الدخول به. يصادق Webmin على حسابات Unix عبر PAM، لذلك تسجّل الدخول باستخدام root أو مستخدم ضمن المجموعة sudo، وباستخدام كلمة مرور Unix الخاصة بذلك الحساب. تكون صور الأنظمة السحابية عادةً مهيّأة لاستخدام المفاتيح فقط، من دون تعيين كلمة مرور للمستخدم الافتراضي، ولا يستطيع Webmin تسجيل الدخول إلى حساب بلا كلمة مرور. عيّن كلمة مرور باستخدام sudo passwd youruser أولاً، وإلا فسيفشل تسجيل الدخول مهما كتبت.
ثانياً، وهذا هو التحذير: لا تفتح المنفذ 10000 على الإنترنت وتتركه مكشوفاً. قرّر الآن ما إذا كنت ستصل إلى Webmin عبر نفق SSH، وهو الخيار الموصى به لأنه لا يعرّض أي منفذ للخارج، أو ستقيّد الوصول إليه بعنوان IP الخاص بك فقط. يؤثر هذا القرار وحده في جميع الخطوات التالية، لذلك اقرأ الخيارين قبل تعديل جدار الحماية.
ثبّت Webmin من المستودع الرسمي
يوفّر Webmin مستودع apt موقّعاً. يضيف برنامج الإعداد المستودع ومفتاح توقيع GPG الخاص به، ولذلك تسحب عمليات apt upgrade اللاحقة Webmin مثل أي حزمة أخرى. وتحصل بذلك على تحديثات موثّقة بدلاً من .deb تم تنزيله ولا يحدّث نفسه.
curl -o webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh
sudo sh webmin-setup-repo.shيعرض البرنامج النصي الإجراءات التي سينفذها، ويطلب Setup repository? (y/N). أجب بـ y. عند اكتماله، ثبّت الحزمة. يجلب الخيار --install-recommends تبعيات Perl ووحدات SSL الشائعة، لذلك لا تفشل الوحدات الفردية لاحقاً بسبب أخطاء المكتبات المفقودة.
sudo apt-get install --install-recommends webminسبق أن غيّر Webmin اسم هذا البرنامج النصي. وتشير الأدلة الأقدم إلى setup-repos.sh. إذا أعاد عنوان URL الخام الخطأ 404، فاحصل على الأمر ذي السطر الواحد الحالي مباشرةً من webmin.com/download بدلاً من تثبيت اسم محدد. ينتهي التثبيت الصحيح بسطر مثل Webmin install complete. You can now login to https://your-host:10000/ as root. تكون الخدمة مفعّلة وقيد التشغيل، ويكون الإعداد ضمن /etc/webmin، وتُسجَّل الطلبات في /var/webmin/miniserv.log، بينما تُرسل محاولات تسجيل الدخول الفاشلة إلى syslog، وإلى journal الخاص بـsystemd في Ubuntu 24.04.
تأكد من أن الخدمة تعمل وتستمع فعلياً قبل فتح المتصفح:
sudo systemctl status webmin --no-pager
sudo ss -tlnp | grep 10000يجب أن تحصل على حالة active (running) وسطر يوضح أن miniserv.pl مرتبط بـ0.0.0.0:10000. يتغير هذا العنوان إلى 127.0.0.1:10000 عند استخدام مسار النفق أدناه. إذا لم يعرض ss شيئاً على المنفذ 10000، فهذا يعني أن Webmin لم يبدأ. اقرأ journalctl -u webmin -n 50 قبل المتابعة.
تسجيل الدخول الأول وتحذير الشهادة
وجّه متصفحك إلى https://YOUR_SERVER_IP:10000. تحدث مشكلتان على الخادم الجديد.
إذا كان ufw مفعّلاً، فلن تُحمّل الصفحة إطلاقاً. تكون صورة خادم Ubuntu غير مفعّلة له افتراضياً، لكن العديد من مزوّدي الخدمة يفعّلونه مسبقاً. يوضَّح هذا الأمر ضمن أوضاع الفشل أدناه. إذا كان المنفذ مفتوحاً، يعرض متصفحك صفحة حظر كاملة: "اتصالك ليس خاصاً" مع الرمز NET::ERR_CERT_AUTHORITY_INVALID في Chrome، أو SEC_ERROR_UNKNOWN_ISSUER / "تحذير: خطر أمني محتمل" في Firefox. هذا متوقع ولا يعني حدوث اختراق. أنشأ Webmin شهادة موقّعة ذاتياً وقت التثبيت (/etc/webmin/miniserv.pem). وبما أنّ سلطة شهادات لا تصادق عليها، يرفض المتصفح الوثوق بها تلقائياً. يظل الاتصال مشفّراً، لكنه غير موثَّق من سلطة شهادات. تجاوز التحذير مؤقتاً (Advanced، ثم Proceed)، وسنستبدل هذه الشهادة بالطريقة الصحيحة لاحقاً.
سجّل الدخول باستخدام root أو باستخدام مستخدم sudo وكلمة مرور Unix الخاصة به، وستصل إلى لوحة معلومات النظام. من الأخطاء الشائعة هنا كتابة http:// بدلاً من https://. يجيب miniserv عبر HTTP غير المشفّر على ذلك المنفذ بالنص الحرفي "يعمل خادم الويب هذا في وضع SSL. جرّب عنوان URL https://...". والإصلاح هو تغيير http إلى https حرفياً في شريط العناوين.
قرار الأمان: كيف ستصل إلى Webmin؟
هذا هو الجزء المهم. يجب ألا تكون لوحة ذات صلاحيات مكافئة لـroot متاحةً على الإنترنت العام وتستجيب لمحاولات تسجيل الدخول من كل أدوات الفحص في العالم. لديك خياران يمكن تبريرهما، بالترتيب المفضّل. تواجه كل واجهة إدارة مستضافة ذاتياً السؤال نفسه، ولذلك تعتمد سلامة Vaultwarden على نقطة الإدارة وملف النسخ الاحتياطي، لا على التشفير.
يُعد نفق SSH في الخيار B أفضل، لأنه لا يعرّض أي شيء على الإطلاق. وتُعد قائمة السماح بعناوين IP في الخيار A مقبولة إذا كان عنوانك ثابتاً. أما عدم استخدام أيٍّ منهما فهو الخطأ الذي أُعدّ هذا الدليل بالكامل لمنعه. إذا كنت تفضّل الوصول إلى Webmin عبر شبكة خاصة بدلاً من الخيارين، فضع الخادم خلف شبكة WireGuard VPN مستضافة ذاتياً، واربط Webmin بعنوان النفق بدلاً من العنوان العام.
الخيار A: تقييد Webmin بعنوان IP الخاص بك
في اللوحة، افتح Webmin، ثم Webmin Configuration، ثم IP Access Control. اختر "Only allow from listed addresses" وأدخل عنوان IP العام الخاص بك، ويمكنك معرفة هذا العنوان بتشغيل curl ifconfig.me على جهازك المحمول. احفظ التغييرات. يكتب Webmin هذه القيمة في السطر allow= داخل /etc/webmin/miniserv.conf، ثم يعيد تشغيل نفسه.
المشكلة هي أنّ عنوان IP المنزلي قد يكون ديناميكياً ويتغير، أو قد تُدخل العنوان خطأً. عندها تُمنع من الوصول. يعرض المتصفح "Access denied for <your IP>" من دون نموذج تسجيل دخول، ولا توجد طريقة للعودة عبر الويب. أصلح ذلك من وحدة تحكم الخادم عبر SSH أو عبر VNC لدى مزود الخدمة:
sudo nano /etc/webmin/miniserv.conf
# find the line that begins allow=
# correct your IP, or delete the whole line to allow all again
sudo systemctl restart webminيؤدي حذف السطر allow= إلى استعادة الوصول المفتوح بالكامل. لذلك احذفه للاسترداد فقط، ثم عيّن قيمة صحيحة فوراً.
الخيار B: الربط بواجهة localhost وإنشاء نفق عبر SSH (موصى به)
أفضل من أي قائمة سماح ألّا تستمع الخدمة إلى الواجهة العامة إطلاقاً. اضبط miniserv ليستمع إلى loopback فقط، ثم صِل إليه عبر نفق SSH مشفّر تثق به مسبقاً.
حرّر /etc/webmin/miniserv.conf وأضف سطراً واحداً أو غيّر سطراً موجوداً:
bind=127.0.0.1أعد التشغيل باستخدام sudo systemctl restart webmin. لن يعود Webmin قابلاً للوصول من الإنترنت، ولن يعثر فحص المنافذ على المنفذ 10000، كما سيُظهر فحص ss السابق الآن أنّه مربوط بـ127.0.0.1:10000. من حاسوبك المحمول، افتح نفقاً:
ssh -L 10000:localhost:10000 youruser@YOUR_SERVER_IPاترك جلسة SSH مفتوحة وتصفّح إلى https://localhost:10000. تمر حركة الشبكة داخل SSH، وقد صادقت عليها مسبقاً باستخدام مفتاحك وهي مشفّرة. لذلك يمكنك قبول الشهادة الموقّعة ذاتياً هنا بأمان، لأن طبقة SSH توفّر الحماية الفعلية. عند إغلاق جلسة SSH، يختفي Webmin. لا توجد حاجة إلى قائمة سماح، ولا شيء مكشوف، ولا خدمة إضافية لتأمينها.
إذا ضبطت bind=127.0.0.1 ونسيت النفق، فسيتوقف الوصول عن بُعد ببساطة. هذا يعني أن الميزة تعمل، وليس أنّ هناك عطلاً. استعد الوصول بالطريقة نفسها المتّبعة في الخيار A: من وحدة التحكم، أزل سطر bind أو اضبط bind=0.0.0.0، ثم أعد التشغيل. هذه هي عادة إنشاء الأنفاق نفسها التي تستخدمها للوصول إلى صندوق تطوير بعيد يشغّل Claude Code داخل tmux: جلسة SSH واحدة، وكل شيء خاص، ولا شيء إضافي يستمع إلى الواجهة العامة.
استبدال الشهادة الموقَّعة ذاتياً بشهادة حقيقية
إذا عرّضت Webmin على اسم مضيف ضمن الخيار A، فتخلّص من تحذير المتصفح باستخدام شهادة Let's Encrypt حقيقية. تحتاج إلى اسم DNS، مثل panel.example.com، مع سجل A يشير إلى الخادم، وإلى خادم يستجيب لتحدي HTTP على المنفذ 80 أثناء التحقق.
تتضمن Webmin هذه الوظيفة: Webmin، ثم Webmin Configuration، ثم SSL Encryption، ثم علامة التبويب Let's Encrypt. أدخل اسم المضيف، واجعل حقل "website root directory" يشير إلى مسار يُخدَّم على المنفذ 80 لهذا النطاق، ثم اطلب الشهادة. تحصل Webmin على الشهادة، وتحدّث سطري certfile= وkeyfile= في miniserv.conf نيابةً عنك، وتجددها تلقائياً قبل انتهاء صلاحيتها. أعد تحميل الصفحة، وسيظهر القفل دون تحذير.
المشكلة الفعلية هي أن خادم Webmin نفسه يعمل على المنفذ 10000، لا على المنفذ 80. لذلك يحتاج تحدي http-01 إلى خادم ويب فعلي، مثل Apache أو nginx، يستجيب لـ panel.example.com على المنفذ 80، أو إلى استخدام التحقق المستند إلى DNS بدلاً من ذلك. في خادم يعتمد على Webmin فقط ولا توجد عليه خدمة على المنفذ 80، يفشل الطلب بسبب خطأ في التحقق إلى أن تتيح لـ Let's Encrypt الوصول إلى ملف التحدي. آلية الإصدار، وسجلات DNS، وتحدي المنفذ 80، والتجديد، هي نفسها عند إصدار شهادة لأي موقع ويب. إذا أردت معرفة التفاصيل، يشرح دليل شهادات TLS من Let's Encrypt باستخدام Certbot وnginx تدفق التحقق وإعداد DNS بالتفصيل. إذا اخترت مسار نفق SSH، فيمكنك تخطي هذا القسم بالكامل: فالشهادة الموقَّعة ذاتياً مناسبة خلف SSH، بينما ستؤدي الشهادة الحقيقية الصادرة لـ panel.example.com إلى تحذير عدم تطابق الاسم عند زيارة https://localhost:10000 على أي حال.
تفعيل المصادقة الثنائية
كلمة المرور وحدها حماية ضعيفة للوحة root، لذا أضف عاملاً ثانياً. افتح Webmin، ثم Webmin Configuration، ثم Two-Factor Authentication. حدّد موفّر Google Authenticator، فهو يستخدم TOTP القياسي، ولذلك يعمل مع Authy و1Password وأي تطبيق مصادقة، ثم احفظ الإعداد. يثبّت Webmin وحدة Perl الصغيرة التي يحتاج إليها (Authen::OATH بالإضافة إلى مولّد QR) ويفعّل الميزة. لا تحمي هذه الخطوة أي حساب بعد.
يسجّل كل حساب جهازه الخاص بعد ذلك. بعد تفعيل 2FA، افتح Webmin، ثم Webmin Users، واختر الحساب، ثم حدّد Enable Two-Factor For User. يعرض Webmin رمز QR؛ امسحه باستخدام التطبيق وأدخل رمزاً واحداً تم إنشاؤه للتأكيد. بعد ذلك، يطلب تسجيل الدخول الرمز المكوّن من ستة أرقام بعد كلمة المرور. أكمِل التسجيل قبل تسجيل الخروج. إذا كانت 2FA مطلوبة، لكن حسابك لم يمسح أي رمز، فلا يزال بإمكانك إلغاء المتطلب من وحدة التحكم، لكن التسجيل أولاً أقل إزعاجاً بكثير.
إضافة Fail2ban لحظر محاولات تسجيل الدخول بالقوة الغاشمة
حتى نقطة تسجيل الدخول المقيّدة يجب أن تعاقب حالات الفشل المتكررة. يسجّل Webmin حالات تسجيل الدخول الفاشلة في syslog بالصيغة webmin[12345]: Invalid login as root from 10.0.0.9، أو بالصيغة Non-existent login as ... عندما يكون اسم المستخدم ليس حساب Unix حتى، وفي Ubuntu 24.04 تصل هذه الأسطر إلى سجل systemd، لأن الصورة القياسية لا تحتوي على /var/log/auth.log. يأتي Fail2ban مع مرشح قياسي webmin-auth يطابق هذين السطرين بالضبط، كما يحدد jail أدناه backend = systemd بنفسه، لذلك لا يحتاج إلى regex مخصص أو مسار سجل.
أنشئ /etc/fail2ban/jail.d/webmin.local:
[webmin-auth]
enabled = true
port = 10000
filter = webmin-auth
backend = systemd
maxretry = 4
bantime = 1hأعد التحميل باستخدام sudo systemctl restart fail2ban، ثم تأكد من أن jail يعمل:
sudo fail2ban-client status webmin-authيجب أن يظهر jail في القائمة، مع بدء عداد الحظر بالقيمة صفر (في الواجهة الخلفية لسجل journal لا يوجد سطر File list:). لاختبار الإعداد بالكامل، أجرِ محاولات تسجيل دخول فاشلة عمداً عدة مرات من شبكة أخرى، ثم شغّل أمر الحالة مجدداً وراقب ارتفاع Currently banned. إذا لم يرتفع، فتأكد من أنك لا تختبر من عنوان موجود في ignoreip الخاص بـFail2ban، وشغّل journalctl SYSLOG_IDENTIFIER=webmin على الخادم للتأكد من كتابة أسطر Invalid login فعلياً. إذا لم يكن Fail2ban مثبتاً على هذا الخادم بعد، يشرح دليل Fail2ban على Ubuntu 24.04 لـSSH خطوات التثبيت وSSH jail الذي ينبغي تشغيله بالتوازي مع هذا jail.
تقييد ما يمكن لكل مستخدم في Webmin الوصول إليه
لا يحتاج كل من يستخدم اللوحة إلى صلاحيات root على كل شيء. انتقل إلى Webmin، ثم Webmin Users، وأنشئ حسابات Webmin إضافية، وامنح كل حساب الوحدات التي يحتاج إليها فقط. على سبيل المثال، يمكن لمشغّل النسخ الاحتياطية الوصول إلى وحدتي cron ونظام الملفات فقط. عند تحرير مستخدم، تظهر قائمة اختيار تتضمن جميع الوحدات. يؤدي إلغاء تحديد وحدة إلى إزالتها من قائمة ذلك المستخدم وحظر عناوين URL الأساسية المرتبطة بها. هذا إجراء دفاعي متعدد الطبقات: حتى جلسة Webmin منخفضة الصلاحيات مسروقة لا يمكنها إعادة كتابة /etc/shadow عندما لا تكون وحدة Users مدرجة في قائمة ذلك المستخدم.
الحفاظ على تحديث Webmin
لأنك ثبّتَّ Webmin من مستودع apt، فإن sudo apt update && sudo apt upgrade يجلب إصدارات Webmin الجديدة مع بقية النظام. ثبّت التصحيحات فوراً، لأن لوحة التحكم هدف شائع للهجمات. يمكن لـWebmin أيضاً تحديث نفسه من Webmin، ثم Webmin Configuration، ثم Upgrade Webmin، لكن استخدام apt أنسب على Ubuntu لأنه يحافظ على اتساق الإصدارات مع بقية حزم النظام. لا تتعامل مع هذا كخيار اختياري: كانت عدة ثغرات CVE سابقة في Webmin تتيح تنفيذ التعليمات البرمجية عن بُعد، وكان الفارق الوحيد بين نظام «مصحَّح» وخادم «مخترَق» هو سرعة تشغيل المسؤول لعملية الترقية.
حالات الفشل، مع النصوص التي ستظهر لك
"Your connection is not private" / NET::ERR_CERT_AUTHORITY_INVALID. تظهر هذه الرسالة عند التحميل الأول مباشرة. السبب هو أن الشهادة الموقَّعة ذاتياً التي أنشأها Webmin عند التثبيت لا تتضمن جهة إصدار موثوقة. هذا ليس هجوماً؛ القناة مشفّرة، لكنها غير موثَّقة من جهة موثوقة. الحل المؤقت هو المتابعة عبر التحذير، ثم إصدار شهادة Let's Encrypt حقيقية، أو قبول الشهادة بشكل دائم إذا كنت تصل إلى Webmin عبر نفق SSH.
"This web server is running in SSL mode. Try the URL https://..." أدخلت http://server:10000. لا يتحدث miniserv عبر TLS إلا على ذلك المنفذ، ولذلك يعرض هذه الرسالة بنص واضح. الحل هو تغيير http إلى https في شريط العنوان.
انتهت مهلة تحميل الصفحة، ERR_CONNECTION_TIMED_OUT / "This site can't be reached". لم يصل الطلب إلى Webmin. في Ubuntu، يكون السبب غالباً أن ufw يحظر المنفذ 10000. تحقّق باستخدام sudo ufw status؛ إذا لم يظهر 10000 في القائمة، فإما أن تفتحه باستخدام sudo ufw allow 10000/tcp، أو الأفضل أن تتركه مغلقاً وتستخدم نفق SSH من الخيار B. انتبه إلى الفرق: تعني مهلة الانتظار أن جداراً نارياً يحظر الحزم بصمت، بينما يعني ERR_CONNECTION_REFUSED أن المنفذ يمكن الوصول إليه، لكن Webmin لا يعمل؛ تحقّق باستخدام sudo systemctl status webmin.
"Access denied for <your IP>." ضبطتَ التحكم في الوصول حسب IP ضمن الخيار A، لكن عنوانك الحالي غير موجود في قائمة السماح، أو تغيّر عنوان IP الديناميكي، أو يوجد خطأ مطبعي. لا يوجد مسار للعودة من المتصفح. أصلح المشكلة من وحدة التحكم: عدّل سطر allow= في /etc/webmin/miniserv.conf، وصحّحه أو احذفه، ثم شغّل sudo systemctl restart webmin.
"Login failed. Please try again." مع استخدام بيانات اعتماد تعرف أنها صحيحة. لا يملك الحساب كلمة مرور Unix، وهذا شائع في صور cloud التي تعتمد على المفاتيح فقط. يصادق Webmin عبر PAM باستخدام كلمة مرور Unix، وهذه الكلمة غير موجودة لهذا المستخدم. الحل هو تشغيل sudo passwd youruser على الخادم، ثم تسجيل الدخول. إذا عرض /var/webmin/miniserv.log القيمة Non-existent login as ...، فأنت تكتب اسم مستخدم ليس حساب Unix أصلاً.
عند إدارة أكثر من خادمين، تتوسع الأتمتة بصورة أفضل من تثبيت لوحة تحكم على كل خادم: أول playbook لك في Ansible هو نقطة البداية.
FAQ
هل من الآمن تعريض Webmin للإنترنت العام؟
تعامل مع Webmin المواجه للإنترنت كأنه shell لحساب root مع صفحة تسجيل دخول، لأن هذا هو بالضبط ما يقدمه. يكون آمناً بدرجة كافية فقط عند استخدام عدة طبقات من الحماية: شهادة حقيقية، ومصادقة ثنائية العوامل، وFail2ban، وقائمة سماح ضيقة لعناوين IP، أو الأفضل من ذلك عدم تعريضه للعامة إطلاقاً. يربط الإعداد الأقل خطراً Webmin بالعنوان 127.0.0.1، ثم تصل إليه عبر نفق SSH، وبذلك لا يستجيب المنفذ 10000 لأي جهة على الإنترنت المفتوح.
كيف أزيل تحذير شهادة Webmin؟
يظهر التحذير (NET::ERR_CERT_AUTHORITY_INVALID) لأن Webmin يأتي بشهادة موقعة ذاتياً. أصدِر شهادة حقيقية من Webmin، ثم Webmin Configuration، ثم SSL Encryption، ثم Let's Encrypt، باستخدام اسم DNS يشير إلى الخادم، مع وجود خدمة تستجيب لتحدي المنفذ 80 لاستخدامه في التحقق. إذا كنت تصل إلى Webmin دائماً عبر نفق SSH إلى localhost، فالتحذير غير ضار؛ إذ إن SSH يشفّر الاتصال ويصادق عليه بالفعل، ويمكنك قبول الشهادة الموقعة ذاتياً بأمان.
كيف أقصر Webmin على عنوان IP الخاص بي فقط؟
انتقل إلى Webmin، ثم Webmin Configuration، ثم IP Access Control، واختر "Only allow from listed addresses"، وأدخل عنوان IP العام الخاص بك من curl ifconfig.me. يخزّن Webmin ذلك في سطر allow= من /etc/webmin/miniserv.conf. انتبه إلى احتمال تغيّر عنوان IP المنزلي ديناميكياً: فإذا تغيّر العنوان، ستُمنع من الدخول، وسيتعين عليك إصلاح سطر allow= من وحدة تحكم الخادم. لذلك يكون استخدام عنوان ثابت أو طريقة نفق SSH أكثر موثوقية عملياً.
لماذا يفشل تسجيل الدخول رغم استخدام كلمة المرور الصحيحة؟
يصادق Webmin عبر PAM باستخدام كلمة مرور Unix، بينما تكون صور الخوادم السحابية عادةً مهيأة لاستخدام المفاتيح فقط، ولا تكون هناك كلمة مرور مضبوطة للحساب الافتراضي. لذلك لا يجد PAM قيمة يطابقها، ويُرفض تسجيل الدخول. شغّل sudo passwd youruser على الخادم لضبط كلمة مرور، ثم سجّل الدخول. أما وجود سطر Non-existent login as ... في /var/webmin/miniserv.log فيعني أن اسم المستخدم نفسه ليس حساب Unix حقيقياً.
ما فائدة Webmin مقارنةً باستخدام SSH العادي؟
Webmin طبقة للاستكشاف وتسهيل الإدارة. يفيد فعلياً في تصفح ملفات السجل، وإدارة المستخدمين وcron، وتحرير قواعد الجدار الناري، وعرض حالة الأقراص والخدمات دون حفظ كل أمر عن ظهر قلب. وهذا مناسب للمسؤولين الذين يديرون الخوادم أحياناً أو للفرق ذات مستويات المهارة المتفاوتة. أما SSH العادي فأسرع، وقابل للبرمجة النصية، ويكشف سطح هجوم أصغر بكثير في الأعمال الروتينية. يستخدم كثير من المسؤولين الطريقتين: SSH للعمل اليومي، وWebmin مربوطاً بالعنوان المحلي خلف نفق للمهام العرضية التي تعتمد على النقر. إذا كان سؤالك الفعلي هو أي لوحة تختار، وليس لوحة أم shell، فمن المفيد أولاً مقارنة Cockpit مع Webmin، لأن المنتجين يختلفان في مقدار ما يمكن لكل منهما تغييره فعلياً في النظام، وفي طريقة مصادقة كل منهما عليك.