Ubuntu 24.04 पर Webmin कैसे इंस्टॉल और सुरक्षित करें
Ubuntu 24.04 पर Webmin इंस्टॉल करने का तरीका जानें। हम आपको IP allowlist, Let's Encrypt SSL, 2FA और Fail2ban के जरिए पोर्ट 10000 को सुरक्षित करने की पूरी प्रक्रिया बताएंगे।
आप क्या बना रहे हैं
Webmin एक वेब कंट्रोल पैनल है जो पूरे Linux सर्वर, users, packages, cron jobs, firewall, Apache, BIND, disks और अन्य सौ मॉड्यूल्स के लिए एक ब्राउज़र फ्रंट-एंड प्रदान करता है। इसे port 10000 पर HTTPS के माध्यम से एक्सेस किया जा सकता है। इसका इंस्टॉलेशन केवल तीन commands में पूरा होता है और इसमें लगभग एक मिनट का समय लगता है। यह गाइड अपने अधिकांश भाग में दूसरे हिस्से पर इसलिए ध्यान केंद्रित करती है क्योंकि Webmin root के रूप में लॉगिन करता है और वह सब कुछ कर सकता है जो root कर सकता है। एक खुला या बिना प्रमाणीकरण वाला Webmin केवल "प्रबंधन के लिए जोखिम" नहीं है; यह एक पूर्ण सर्वर समझौता (compromise) है जिसके सामने एक लॉगिन पेज लगा है। इसलिए इसे दस मिनट में इंस्टॉल करें, और फिर बाकी का समय यह सुनिश्चित करने में बिताएं कि केवल आप ही इसे एक्सेस कर सकें।
पूर्व-आवश्यकताएँ और एक ईमानदार चेतावनी
एक नया Ubuntu 24.04 KVM VPS, जिसमें root या sudo user का एक्सेस हो। Webmin Perl-आधारित और हल्का है, 1 GB RAM इसके लिए पर्याप्त है और यह एक चौथाई GB से भी कम उपयोग में idle रहता है। यह अपने स्वयं के bundled web server (miniserv.pl) के माध्यम से TCP 10000 पर listen करता है, न कि Apache या nginx पर, इसलिए पहले से कुछ और इंस्टॉल करने की आवश्यकता नहीं है।
शुरू करने से पहले दो बातों का निर्णय लें। पहला, वह account जिससे आप login करेंगे: Webmin PAM के माध्यम से Unix accounts को authenticate करता है, इसलिए आप root या sudo group के किसी user के रूप में उस account के Unix password का उपयोग करके login करते हैं। Cloud images आमतौर पर केवल key-based होती हैं और default user पर कोई password सेट नहीं होता, और Webmin बिना password वाले account को login नहीं करने देता। पहले sudo passwd youruser के साथ एक password सेट करें, अन्यथा आप कुछ भी टाइप करें, login विफल हो जाएगा।
दूसरा, और यह चेतावनी है: port 10000 को सीधे internet के लिए न खोलें और इसे ऐसे ही न छोड़ें। अभी निर्णय लें कि क्या आप SSH tunnel के माध्यम से Webmin तक पहुँचेंगे (अनुशंसित, कुछ भी exposed नहीं) या इसे केवल अपने IP तक सीमित रखेंगे। यह एक निर्णय नीचे दिए गए हर कदम को प्रभावित करता है, इसलिए firewall को छूने से पहले दोनों विकल्पों को पढ़ें।
आधिकारिक रिपॉजिटरी से Webmin इंस्टॉल करें
Webmin एक हस्ताक्षरित (signed) apt रिपॉजिटरी प्रकाशित करता है। सेटअप स्क्रिप्ट रिपॉजिटरी और उसकी GPG साइनिंग की (key) को जोड़ती है, ताकि भविष्य में 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 मॉड्यूल की निर्भरताओं (dependencies) को खींच लेता है, ताकि बाद में अलग-अलग मॉड्यूल गायब लाइब्रेरी त्रुटियों के कारण विफल न हों।
sudo apt-get install --install-recommends webminWebmin ने पहले इस स्क्रिप्ट का नाम बदला है, पुराने गाइड 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 में जाते हैं, जो Ubuntu 24.04 पर systemd journal है।
ब्राउज़र खोलने से पहले पुष्टि करें कि यह वास्तव में चालू है और लिसन (listen) कर रहा है:
sudo systemctl status webmin --no-pager
sudo ss -tlnp | grep 10000आपको active (running) स्टेटस और 0.0.0.0:10000 पर बाउंड miniserv.pl दिखाने वाली एक लाइन चाहिए। नीचे दिए गए टनल रूट को अपनाने के बाद वह पता 127.0.0.1:10000 में बदल जाता है। यदि ss 10000 पोर्ट पर कुछ नहीं दिखाता है, तो Webmin शुरू नहीं हुआ है; आगे बढ़ने से पहले journalctl -u webmin -n 50 पढ़ें।
पहली बार लॉगिन और सर्टिफिकेट चेतावनी
अपने ब्राउज़र को https://YOUR_SERVER_IP:10000 पर ले जाएं। एक नए सर्वर पर दो चीजें होती हैं।
यदि ufw सक्रिय है (Ubuntu की अपनी सर्वर इमेज इसे निष्क्रिय रखती है, लेकिन कई प्रदाता इसे पहले से सक्षम कर देते हैं), तो पेज बिल्कुल भी लोड नहीं होगा, जिसे नीचे विफलता मोड (failure modes) में कवर किया गया है। यदि पोर्ट खुला है, तो आपका ब्राउज़र एक पूर्ण-पृष्ठ ब्लॉक दिखाएगा: "Your connection is not private" जिसमें Chrome में NET::ERR_CERT_AUTHORITY_INVALID कोड होगा, या Firefox में SEC_ERROR_UNKNOWN_ISSUER / "Warning: Potential Security Risk Ahead" दिखाई देगा। यह अपेक्षित है और कोई सेंधमारी नहीं है। Webmin ने इंस्टॉलेशन के समय एक self-signed certificate (/etc/webmin/miniserv.pem) जेनरेट किया था, और चूंकि कोई certificate authority इसकी पुष्टि नहीं करती है, इसलिए ब्राउज़र चुपचाप इस पर भरोसा करने से इनकार कर देता है। कनेक्शन अभी भी एन्क्रिप्टेड है; बस इसकी पुष्टि नहीं की गई है। अभी के लिए आगे बढ़ें (Advanced, फिर Proceed पर क्लिक करें), हम इस सर्टिफिकेट को बाद में सही तरीके से बदल देंगे।
root या अपने sudo यूजर और उसके Unix पासवर्ड के साथ लॉगिन करें, और आप System Information डैशबोर्ड पर पहुंच जाएंगे। यहाँ एक सामान्य गलती https:// के बजाय http:// टाइप करना है। miniserv उस पोर्ट पर सादे HTTP का जवाब इस सटीक टेक्स्ट के साथ देता है: "This web server is running in SSL mode. Try the URL https://...", इसका समाधान बस एड्रेस बार में http को https में बदलना है।
सुरक्षा का निर्णय: आप Webmin तक कैसे पहुँचेंगे?
अब सबसे महत्वपूर्ण भाग। root-equivalent पैनल को खुले इंटरनेट पर नहीं होना चाहिए, जहाँ वह दुनिया भर के स्कैनर्स से आने वाले लॉगिन प्रयासों का उत्तर दे। आपके पास प्राथमिकता के क्रम में दो उचित विकल्प हैं। हर self-hosted एडमिन इंटरफेस इसी प्रश्न पर आकर रुकता है, और यही कारण है कि Vaultwarden सुरक्षित है या नहीं का उत्तर उसके एन्क्रिप्शन के बजाय उसके एडमिन एंडपॉइंट और बैकअप फ़ाइल पर निर्भर करता है।
विकल्प B में दिया गया SSH tunnel बेहतर है, क्योंकि यह कुछ भी expose नहीं करता है। यदि आपका IP address static है, तो विकल्प A में दी गई IP allowlist स्वीकार्य है। इनमें से कुछ भी न करना वही गलती है जिसे रोकने के लिए यह पूरी गाइड लिखी गई है। यदि आप इन दोनों के बजाय किसी private network के माध्यम से Webmin तक पहुँचना चाहते हैं, तो सर्वर को self-hosted WireGuard VPN के पीछे रखें और Webmin को public address के बजाय tunnel address पर bind करें।
Option A: restrict Webmin to your IP
In the panel, open Webmin, then Webmin Configuration, then IP Access Control. Choose "Only allow from listed addresses" and enter your public IP, which you can find by running curl ifconfig.me on your laptop. Save. Webmin writes this to the allow= line in /etc/webmin/miniserv.conf and restarts itself.
The trap: if your home IP is dynamic and changes, or you fat-finger the address, you lock yourself out. The browser then shows "Access denied for <your IP>" and no login form, and there is no web path back in. You fix it from the server console over SSH or your provider's 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 webminDeleting the allow= line restores fully open access, so only do that to recover, then immediately set a correct value.
विकल्प B: localhost से bind करना और SSH के माध्यम से tunnel करना (अनुशंसित)
Allowlist बनाने से बेहतर है कि service को public interface पर listen ही न करने दिया जाए। miniserv को केवल loopback पर bind करने के लिए कहें, और फिर उस तक पहले से भरोसेमंद SSH tunnel के जरिए पहुँचें।
/etc/webmin/miniserv.conf को edit करें और एक line जोड़ें या बदलें:
bind=127.0.0.1sudo systemctl restart webmin के साथ restart करें। Webmin अब internet से unreachable है, port 10000 का scan करने पर कुछ नहीं मिलेगा, और पहले किया गया ss check अब दिखाएगा कि यह 127.0.0.1:10000 पर bound है। अपने laptop से, एक tunnel खोलें:
ssh -L 10000:localhost:10000 youruser@YOUR_SERVER_IPउस session को खुला रखें और https://localhost:10000 पर browse करें। Traffic SSH के अंदर चलता है, जो पहले से ही आपकी key द्वारा authenticated और encrypted है, इसलिए आप यहाँ self-signed certificate को सुरक्षित रूप से accept कर सकते हैं; SSH layer ही वास्तविक सुरक्षा प्रदान कर रहा है। SSH session बंद करें और Webmin गायब हो जाएगा। न तो कुछ allowlist करना है, न ही कुछ expose करना है, और न ही harden करने के लिए कोई अतिरिक्त service है।
यदि आप bind=127.0.0.1 set करते हैं और tunnel खोलना भूल जाते हैं, तो remote access बस बंद हो जाएगा; यह feature का सही काम करना है, कोई खराबी नहीं। विकल्प A की तरह ही recover करें: console से, bind line को हटा दें या bind=0.0.0.0 set करें, फिर restart करें। यह वही tunnelling habit है जिसका उपयोग आप tmux में Claude Code चलाने वाले remote development box तक पहुँचने के लिए करते हैं; एक SSH session, सब कुछ private, और public interface पर कुछ भी अतिरिक्त listen नहीं कर रहा है।
Self-signed certificate को असली certificate से बदलें
यदि आप Option A के अंतर्गत किसी hostname पर Webmin को expose करते हैं, तो असली Let's Encrypt certificate का उपयोग करके browser warning को हटा दें। इसके लिए आपको एक DNS name की आवश्यकता होगी, जैसे कि panel.example.com, जिसका A record सर्वर की ओर point कर रहा हो, और validation के दौरान port-80 HTTP challenge का उत्तर देने के लिए कुछ उपलब्ध होना चाहिए।
Webmin में यह सुविधा पहले से मौजूद है: Webmin, फिर Webmin Configuration, फिर SSL Encryption, और उसके बाद Let's Encrypt tab पर जाएं। Hostname दर्ज करें, "website root directory" को उस path पर point करें जो उस domain के लिए port 80 पर serve किया जा रहा है, और request भेजें। Webmin certificate प्राप्त करता है, आपके लिए miniserv.conf में certfile= और keyfile= लाइनों को update करता है, और expiry से पहले इसे स्वचालित रूप से renew कर देता है। पेज को reload करें और padlock icon सही दिखाई देगा।
एकमात्र वास्तविक समस्या यह है: Webmin का अपना सर्वर 80 पर नहीं, बल्कि 10000 पर चलता है। इसलिए http-01 challenge के लिए एक असली web server, जैसे Apache या nginx की आवश्यकता होती है, जो port 80 पर panel.example.com के लिए उत्तर दे सके, या फिर DNS-आधारित validation का उपयोग करना होगा। केवल Webmin वाले सर्वर पर, जिस पर port 80 पर कुछ भी नहीं चल रहा है, request एक validation error के साथ विफल हो जाएगी, जब तक कि आप Let's Encrypt को challenge file तक पहुँचने का कोई रास्ता न दें। इसकी कार्यप्रणाली, DNS records, port-80 challenge, और renewal प्रक्रिया वैसी ही है जैसी किसी भी वेबसाइट के लिए certificate जारी करने की होती है। यदि आप इसकी पृष्ठभूमि समझना चाहते हैं, तो Let's Encrypt TLS certificates with Certbot and nginx guide validation flow और DNS setup के बारे में विस्तार से बताती है। यदि आपने SSH-tunnel वाला रास्ता अपनाया है, तो आप इस section को पूरी तरह छोड़ सकते हैं: SSH के पीछे self-signed certificate ठीक काम करता है, और panel.example.com के लिए जारी किया गया असली certificate वैसे भी https://localhost:10000 पर जाने पर name-mismatch warning ही दिखाएगा।
Two-factor authentication को सक्षम करें
केवल एक password root panel के लिए पर्याप्त सुरक्षा नहीं है, इसलिए एक second factor जोड़ें। Webmin खोलें, फिर Webmin Configuration में जाएँ और Two-Factor Authentication चुनें। Google Authenticator provider को चुनें। यह standard TOTP है, इसलिए यह Authy, 1Password या किसी भी authenticator app के साथ काम करता है। इसे save करें। Webmin इसके लिए आवश्यक छोटा Perl module (Authen::OATH और एक QR generator) install करता है और इस feature को enable करता है। यह चरण अभी किसी account को सुरक्षित नहीं करता है।
इसके बाद प्रत्येक account को अपना device enrol करना होगा। 2FA enable होने के बाद, Webmin खोलें, फिर Webmin Users में जाएँ, account चुनें और Enable Two-Factor For User पर क्लिक करें। Webmin एक QR code दिखाएगा; इसे app से scan करें और पुष्टि करने के लिए एक generated code दर्ज करें। इसके बाद, login के समय password के बाद छह अंकों का token माँगा जाएगा। Log out करने से पहले enrol करें। यदि 2FA अनिवार्य है और आपके account ने code scan नहीं किया है, तो आप console से इस आवश्यकता को हटा सकते हैं, लेकिन पहले enrol करना अधिक सरल है।
Fail2ban को जोड़ें ताकि brute-force logins को रोका जा सके
एक प्रतिबंधित login endpoint को भी बार-बार होने वाली विफलताओं के लिए दंडित करना चाहिए। Webmin विफल logins की रिपोर्ट syslog में webmin[12345]: Invalid login as root from 10.0.0.9 के रूप में, या किसी ऐसे username के लिए Non-existent login as ... के रूप में करता है जो Unix account भी नहीं है। Ubuntu 24.04 पर ये पंक्तियाँ systemd journal में जाती हैं, क्योंकि stock image में /var/log/auth.log नहीं होता है। Fail2ban में एक stock webmin-auth filter होता है जो ठीक उन्हीं दो पंक्तियों से मेल खाता है, और नीचे दी गई jail खुद backend = systemd सेट करती है, इसलिए इसे किसी custom regex या log path की आवश्यकता नहीं है।
/etc/fail2ban/jail.d/webmin.local बनाएँ:
[webmin-auth]
enabled = true
port = 10000
filter = webmin-auth
backend = systemd
maxretry = 4
bantime = 1hsudo systemctl restart fail2ban के साथ reload करें, फिर पुष्टि करें कि jail live है:
sudo fail2ban-client status webmin-authआपको jail की सूची शून्य के ban counter के साथ दिखाई देनी चाहिए (journal backend पर कोई File list: पंक्ति नहीं होती है)। wiring के end-to-end काम करने की पुष्टि करने के लिए, किसी अन्य network से जानबूझकर कुछ बार login विफल करें, फिर status command को दोबारा चलाएँ और Currently banned को बढ़ते हुए देखें। यदि यह नहीं बढ़ता है, तो सुनिश्चित करें कि आप Fail2ban के ignoreip में मौजूद पते से test नहीं कर रहे हैं, और यह पुष्टि करने के लिए कि Invalid login पंक्तियाँ वास्तव में लिखी जा रही हैं, सर्वर पर journalctl SYSLOG_IDENTIFIER=webmin चलाएँ। यदि इस box पर Fail2ban अभी तक installed नहीं है, तो Ubuntu 24.04 पर SSH के लिए Fail2ban guide में install करने की प्रक्रिया और वह SSH jail शामिल है जिसे आपको इसके साथ ही चलाना चाहिए।
प्रत्येक Webmin उपयोगकर्ता की पहुँच को सीमित करना
पैनल का उपयोग करने वाले हर व्यक्ति को हर चीज़ पर root अधिकार की आवश्यकता नहीं होती है। Webmin, then Webmin Users के अंतर्गत, अतिरिक्त Webmin लॉगिन बनाएँ और प्रत्येक को केवल उन्हीं मॉड्यूल्स की अनुमति दें जिनकी उन्हें आवश्यकता है। उदाहरण के लिए, एक बैकअप ऑपरेटर जिसे केवल cron और filesystem मॉड्यूल दिखाई दें। किसी उपयोगकर्ता को संपादित करने पर सभी मॉड्यूल्स की एक चेकलिस्ट दिखाई देती है; किसी मॉड्यूल को अनचेक करने से वह उस उपयोगकर्ता के मेनू से हट जाता है और संबंधित URLs तक पहुँच ब्लॉक हो जाती है। यह defence in depth का हिस्सा है: यदि कोई कम-विशेषाधिकार वाला Webmin सत्र चोरी भी हो जाए, तो भी वह /etc/shadow को फिर से नहीं लिख पाएगा यदि Users मॉड्यूल उसकी सूची में नहीं है।
Webmin को अपडेट रखना
चूंकि आपने इसे apt repository से install किया है, इसलिए sudo apt update && sudo apt upgrade सिस्टम के बाकी हिस्सों के साथ ही Webmin के नए releases को भी pull कर लेता है। पैच तुरंत लागू करें, क्योंकि control panel अक्सर हमलों का मुख्य लक्ष्य होते हैं। Webmin खुद को Webmin, then Webmin Configuration, then Upgrade Webmin के माध्यम से भी अपडेट कर सकता है, लेकिन Ubuntu पर apt वाला तरीका अधिक व्यवस्थित है क्योंकि यह आपके अन्य package management के साथ version consistency बनाए रखता है। इसे वैकल्पिक न समझें: अतीत में Webmin की कई CVEs remote-code-execution bugs से संबंधित रही हैं, और "patched" तथा "compromised" स्थिति के बीच केवल यही अंतर था कि admin ने कितनी जल्दी upgrade चलाया।
विफलता के प्रकार और दिखाई देने वाले संदेश
"Your connection is not private" / NET::ERR_CERT_AUTHORITY_INVALID. यह संदेश पहली बार लोड करने पर दिखाई देता है। कारण: Webmin द्वारा इंस्टॉलेशन के समय जनरेट किया गया self-signed certificate किसी विश्वसनीय issuer द्वारा प्रमाणित नहीं है। यह कोई हमला नहीं है; चैनल एन्क्रिप्टेड है, बस इसकी पुष्टि नहीं की गई है। समाधान: अभी के लिए चेतावनी को अनदेखा करके आगे बढ़ें, फिर एक वास्तविक Let's Encrypt certificate जारी करें, या यदि आप SSH tunnel के माध्यम से Webmin तक पहुँच रहे हैं तो इसे स्थायी रूप से स्वीकार कर लें।
"This web server is running in SSL mode. Try the URL https://..." आपने http://server:10000 टाइप किया है। miniserv उस port पर केवल TLS का उपयोग करता है और आपको plain text में यही बता रहा है। समाधान: address bar में http को https में बदलें।
Page times out, ERR_CONNECTION_TIMED_OUT / "This site can't be reached". अनुरोध Webmin तक कभी नहीं पहुँचता है। Ubuntu पर इसका कारण लगभग हमेशा ufw द्वारा port 10000 को ब्लॉक करना होता है। sudo ufw status के साथ पुष्टि करें; यदि 10000 सूची में नहीं है, तो इसे sudo ufw allow 10000/tcp के साथ खोलें या, बेहतर होगा कि इसे बंद रहने दें और Option B से SSH tunnel का उपयोग करें। अंतर ध्यान दें: timeout का अर्थ है कि firewall चुपचाप packets को ड्रॉप कर रहा है, जबकि ERR_CONNECTION_REFUSED का अर्थ है कि port तक पहुँचा जा सकता है लेकिन Webmin चल नहीं रहा है, sudo systemctl status webmin की जाँच करें।
"Access denied for <your IP>." आपने Option A के तहत IP Access Control सेट किया है और आपका वर्तमान पता allow list में नहीं है, या आपका dynamic IP बदल गया है, या कोई टाइपिंग त्रुटि है। ब्राउज़र के माध्यम से वापस जाने का कोई रास्ता नहीं है। console से समाधान: /etc/webmin/miniserv.conf में allow= लाइन को एडिट करें, उसे सही करें या हटा दें, और sudo systemctl restart webmin चलाएँ।
"Login failed. Please try again." जबकि credentials सही हैं। account का कोई Unix password नहीं है, जो कि key-only cloud images पर सामान्य है। Webmin, PAM के माध्यम से Unix password के विरुद्ध authenticate करता है, और उस user के लिए वह password मौजूद नहीं है। समाधान: सर्वर पर sudo passwd youruser चलाएँ, फिर log in करें। यदि /var/webmin/miniserv.log में Non-existent login as ... दिखाई देता है, तो आप ऐसा username टाइप कर रहे हैं जो Unix account ही नहीं है।
कुछ से अधिक सर्वरों के लिए, प्रत्येक बॉक्स पर control panel के बजाय automation बेहतर काम करता है: आपका पहला Ansible playbook यहीं से शुरू होता है।
FAQ
क्या Webmin को सार्वजनिक इंटरनेट पर expose करना सुरक्षित है?
इंटरनेट-फेसिंग Webmin को एक लॉगिन पेज वाले root shell के रूप में देखें, क्योंकि यह वास्तव में वही है। यह केवल परतों (layers) में ही पर्याप्त सुरक्षित है: एक वास्तविक certificate, two-factor authentication, Fail2ban, और या तो एक सख्त IP allowlist या, इससे भी बेहतर, इसे सार्वजनिक रूप से बिल्कुल भी expose न करना। सबसे कम जोखिम वाला सेटअप Webmin को 127.0.0.1 पर bind करता है और इसे SSH tunnel के माध्यम से एक्सेस करता है, ताकि port 10000 खुले इंटरनेट पर किसी को भी जवाब न दे।
मैं Webmin certificate warning से छुटकारा कैसे पाऊं?
यह चेतावनी (NET::ERR_CERT_AUTHORITY_INVALID) इसलिए दिखाई देती है क्योंकि Webmin एक self-signed certificate के साथ आता है। Webmin, Webmin Configuration, SSL Encryption, Let's Encrypt में जाकर एक वास्तविक certificate जारी करें। इसके लिए एक ऐसे DNS नाम का उपयोग करें जो सर्वर की ओर इशारा करता हो और validation के लिए port-80 challenge को पूरा करता हो। यदि आप Webmin को केवल SSH tunnel के माध्यम से localhost पर एक्सेस करते हैं, तो यह चेतावनी हानिकारक नहीं है; SSH पहले से ही कनेक्शन को encrypt और authenticate करता है, और आप सुरक्षित रूप से self-signed certificate को स्वीकार कर सकते हैं।
मैं Webmin को केवल अपने IP address तक कैसे सीमित करूं?
Webmin, Webmin Configuration, IP Access Control पर जाएं, "Only allow from listed addresses" चुनें, और curl ifconfig.me से अपना सार्वजनिक IP दर्ज करें। Webmin इसे /etc/webmin/miniserv.conf की allow= लाइन में स्टोर करता है। डायनामिक होम IP के लिए सावधान रहें: यदि यह बदल जाता है, तो आप लॉक हो जाएंगे और आपको सर्वर कंसोल से allow= लाइन को ठीक करना होगा, इसलिए व्यावहारिक रूप से एक static address या SSH-tunnel विधि अधिक विश्वसनीय है।
सही पासवर्ड होने के बावजूद मेरा लॉगिन विफल क्यों हो रहा है?
Webmin आपके Unix पासवर्ड के खिलाफ PAM के माध्यम से authenticate करता है, और क्लाउड इमेज आमतौर पर केवल key-आधारित होती हैं जिनमें डिफ़ॉल्ट अकाउंट पर कोई पासवर्ड सेट नहीं होता है। इसलिए PAM के पास मिलान करने के लिए कुछ नहीं होता और लॉगिन अस्वीकार कर दिया जाता है। पासवर्ड सेट करने के लिए सर्वर पर sudo passwd youruser चलाएं, फिर लॉगिन करें। /var/webmin/miniserv.log में Non-existent login as ... लाइन का अर्थ यह है कि username स्वयं एक वास्तविक Unix अकाउंट नहीं है।
सामान्य SSH की तुलना में Webmin किस लिए उपयोगी है?
Webmin एक discoverability और सुविधा प्रदान करने वाली परत है। यह लॉग फ़ाइलों को ब्राउज़ करने, उपयोगकर्ताओं और cron को प्रबंधित करने, फ़ायरवॉल नियमों को संपादित करने, और हर कमांड को याद किए बिना डिस्क और सर्विस की स्थिति देखने के लिए वास्तव में उपयोगी है। यह कभी-कभार काम करने वाले एडमिन या मिश्रित कौशल वाली टीमों के लिए सुविधाजनक है। सामान्य SSH तेज़ है, scriptable है, और नियमित कार्यों के लिए बहुत कम attack surface expose करता है। कई एडमिन दोनों का उपयोग करते हैं: दैनिक कार्यों के लिए SSH, और कभी-कभार पॉइंट-एंड-क्लिक काम के लिए tunnel के पीछे localhost पर bound Webmin। यदि आपका वास्तविक प्रश्न पैनल बनाम शेल के बजाय यह है कि कौन सा पैनल बेहतर है, तो पहले Cockpit बनाम Webmin पर विचार करना उचित है, क्योंकि दोनों इस बात में भिन्न हैं कि प्रत्येक वास्तव में सिस्टम के कितने हिस्से को बदल सकता है और प्रत्येक आपको कैसे authenticate करता है।