SSD Nodes Learn
Anleitungen Matt ConnorVon Matt Connor · Aktualisiert 2026-07-24

Webmin auf Ubuntu 24.04 installieren & absichern

Lernen Sie die Installation von Webmin auf Ubuntu 24.04 kennen. Wir zeigen Ihnen die Absicherung via SSH-Tunnel, Let's Encrypt und Fail2ban für Port 10000.

Was Sie aufbauen

Webmin ist ein Web-Control-Panel, das eine Browser-Benutzeroberfläche für einen gesamten Linux-Server bereitstellt. Dies umfasst Benutzer, Pakete, Cron-Jobs, die Firewall, Apache, BIND, Disks und hunderte weitere Module. Der Zugriff erfolgt über HTTPS auf Port 10000. Die Installation besteht aus drei Befehlen und dauert etwa eine Minute. Der zweite Teil dieses Leitfadens nimmt den größten Platz ein, da Webmin als root angemeldet ist und alle Berechtigungen von root besitzt. Ein ungeschützter oder nicht authentifizierter Webmin-Zugang stellt kein bloßes "Risiko" dar; er bedeutet die vollständige Kompromittierung des Servers durch eine Login-Seite. Installieren Sie Webmin daher in zehn Minuten und nutzen Sie die restliche Stunde, um sicherzustellen, dass nur Sie darauf zugreifen können.

Voraussetzungen und ein wichtiger Warnhinweis

Ein frisches Ubuntu 24.04 KVM VPS mit root oder einem sudo-Benutzer. Webmin basiert auf Perl und ist ressourcensparend — 1 GB RAM sind ausreichend, und im Leerlauf liegt die Auslastung bei unter einem Viertel eines Gigabytes. Webmin lauscht auf TCP 10000 über den integrierten Webserver (miniserv.pl), nicht über Apache oder nginx. Daher sind keine weiteren Installationen erforderlich.

Vor dem Start müssen zwei Punkte entschieden werden. Erstens: Das Konto für die Anmeldung. Webmin authentifiziert sich über PAM an Unix-Konten. Sie melden sich also als root oder als Benutzer der Gruppe sudo unter Verwendung des Unix-Passworts dieses Kontos an. Cloud-Images nutzen meist nur SSH-Keys; der Standardbenutzer hat kein Passwort gesetzt. Webmin kann sich nicht an einem passwortlosen Konto anmelden. Setzen Sie zuerst ein Passwort mit sudo passwd youruser, da die Anmeldung sonst trotz korrekter Eingabe fehlschlägt.

Zweitens, und dies ist der Warnhinweis: Öffnen Sie den Port 10000 nicht einfach für das Internet. Entscheiden Sie jetzt, ob Sie Webmin über einen SSH-Tunnel erreichen (empfohlen, da keine Ports exponiert werden) oder den Zugriff auf Ihre eigene IP beschränken. Diese Entscheidung beeinflusst alle folgenden Schritte. Lesen Sie beide Optionen, bevor Sie die Firewall konfigurieren.

Webmin aus dem offiziellen Repository installieren

Webmin stellt ein signiertes apt-Repository bereit. Das Setup-Skript fügt das Repository und den GPG-Signierungsschlüssel hinzu. Dadurch werden zukünftige apt upgrade-Durchläufe Webmin wie jedes andere Paket laden. Sie erhalten authentifizierte Updates anstatt eines heruntergeladenen .deb, das sich nicht selbst patcht.

curl -o webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh
sudo sh webmin-setup-repo.sh

Das Skript gibt die geplanten Schritte aus und fragt Setup repository? (y/N) — antworten Sie mit y. Installieren Sie das Paket nach Abschluss des Vorgangs. Die Flag --install-recommends lädt die gängigen Perl- und SSL-Modul-Abhängigkeiten herunter. Dies verhindert spätere Fehler durch fehlende Bibliotheken bei einzelnen Modulen.

sudo apt-get install --install-recommends webmin

Webmin hat dieses Skript bereits umbenannt — ältere Anleitungen beziehen sich auf setup-repos.sh. Falls die URL einen 404-Fehler zurückgibt, kopieren Sie den aktuellen One-Liner direkt von webmin.com/download, anstatt einen festen Namen zu verwenden. Eine korrekte Installation endet mit einer Zeile wie Webmin install complete. You can now login to https://your-host:10000/ as root. Der Dienst ist aktiviert und läuft, die Konfiguration liegt unter /etc/webmin, Anfragen werden in /var/webmin/miniserv.log protokolliert und fehlgeschlagene Logins werden an syslog gesendet — unter Ubuntu 24.04 an das systemd-Journal.

Bestätigen Sie, dass der Dienst läuft und auf Anfragen wartet, bevor Sie einen Browser öffnen:

sudo systemctl status webmin --no-pager
sudo ss -tlnp | grep 10000

Sie benötigen einen active (running)-Status und eine Zeile, die zeigt, dass miniserv.pl an 0.0.0.0:10000 gebunden ist. Diese Adresse ändert sich zu 127.0.0.1:10000, sobald Sie die unten beschriebene Tunnel-Route nutzen. Falls ss auf Port 10000 keine Ausgabe zeigt, wurde Webmin nicht gestartet; lesen Sie journalctl -u webmin -n 50, bevor Sie fortfahren.

Erster Login und die Zertifikatswarnung

Rufen Sie https://YOUR_SERVER_IP:10000 in Ihrem Browser auf. Bei einer Neuinstallation passieren zwei Dinge.

Falls ufw aktiv ist — das Standard-Ubuntu-Server-Image liefert es deaktiviert aus, aber viele Anbieter aktivieren es vorab — lädt die Seite überhaupt nicht. Dies wird in den unten aufgeführten Fehlerzuständen behandelt. Wenn der Port offen ist, zeigt der Browser eine Blockierung an: "Your connection is not private" mit dem Code NET::ERR_CERT_AUTHORITY_INVALID in Chrome oder SEC_ERROR_UNKNOWN_ISSUER / "Warning: Potential Security Risk Ahead" in Firefox. Dies ist ein erwartetes Verhalten und kein Einbruch. Webmin hat während der Installation ein selbstsigniertes Zertifikat erstellt (/etc/webmin/miniserv.pem). Da keine Zertifizierungsstelle dieses bestätigt, verweigert der Browser das Vertrauen. Die Verbindung ist dennoch verschlüsselt; sie ist lediglich nicht verifiziert. Klicken Sie vorerst auf "Erweitert" und dann auf "Weiter" — wir werden dieses Zertifikat weiter unten korrekt ersetzen.

Melden Sie sich mit root oder Ihrem sudo-Benutzer und dem Unix-Passwort an. Sie gelangen auf das Dashboard "System Information". Ein häufiger Fehler besteht darin, http:// anstatt https:// einzugeben. miniserv antwortet auf diesem Port per HTTP mit dem Text "This web server is running in SSL mode. Try the URL https://..." — die Lösung besteht darin, http in der Adresszeile durch https zu ersetzen.

Die Sicherheitsentscheidung: Wie greifen Sie auf Webmin zu?

Nun folgt der entscheidende Teil. Eine Web-Oberfläche mit Root-Rechten sollte nicht im offenen Internet erreichbar sein, um Login-Versuche von Scannern weltweit zu beantworten. Es gibt zwei vertretbare Optionen, sortiert nach Priorität.

Der SSH-Tunnel in Option B ist die bessere Wahl, da er keinerlei Angriffsfläche bietet. Die IP-Allowlist in Option A ist akzeptabel, wenn Sie eine statische IP-Adresse verwenden. Beides nicht zu nutzen, ist genau der Fehler, den diese Anleitung verhindern soll. Falls Sie Webmin lieber über ein privates Netzwerk als über die genannten Methoden erreichen möchten, platzieren Sie den Server hinter einem selbst gehosteten WireGuard VPN und binden Sie Webmin an die Tunnel-Adresse anstatt an die öffentliche Adresse.

Option A: Webmin auf Ihre IP beschränken

Öffnen Sie im Panel Webmin, dann Webmin Configuration und anschließend IP Access Control. Wählen Sie "Only allow from listed addresses" und geben Sie Ihre öffentliche IP ein. Diese finden Sie heraus, indem Sie curl ifconfig.me auf Ihrem Laptop ausführen. Speichern Sie die Einstellung. Webmin schreibt diese Änderung in die allow= Zeile in /etc/webmin/miniserv.conf und startet den Dienst neu.

Die Gefahr: Wenn Ihre Heim-IP dynamisch ist und sich ändert oder wenn Sie die Adresse falsch eingeben, sperren Sie sich selbst aus. Der Browser zeigt dann "Access denied for <your IP>" an und zeigt kein Login-Formular mehr an. Es gibt keinen Web-Pfad mehr für den Zugriff. Sie können das Problem über die Server-Konsole via SSH oder das VNC Ihres Providers beheben:

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

Das Löschen der allow= Zeile stellt den uneingeschränkten Zugriff wieder her. Nutzen Sie dies nur zur Wiederherstellung und setzen Sie danach sofort einen korrekten Wert.

Option B: Bindung an localhost und Tunneling über SSH (empfohlen)

Besser als jede Allowlist ist es, gar nicht erst an der öffentlichen Schnittstelle zu lauschen. Weisen Sie miniserv an, sich nur an das Loopback-Interface zu binden, und greifen Sie dann über einen bereits vertrauenswürdigen, verschlüsselten SSH-Tunnel darauf zu.

Bearbeiten Sie /etc/webmin/miniserv.conf und fügen Sie eine Zeile hinzu oder ändern Sie diese:

bind=127.0.0.1

Starten Sie mit sudo systemctl restart webmin neu. Webmin ist nun aus dem Internet nicht mehr erreichbar — ein Portscan von 10000 findet keine Ergebnisse, und die ss-Prüfung zeigt nun die Bindung an 127.0.0.1:10000. Öffnen Sie von Ihrem Laptop aus einen Tunnel:

ssh -L 10000:localhost:10000 youruser@YOUR_SERVER_IP

Lassen Sie diese Sitzung offen und rufen Sie https://localhost:10000 im Browser auf. Der Datenverkehr läuft innerhalb von SSH, welches bereits durch Ihren Key authentifiziert und verschlüsselt ist. Sie können das selbstsignierte Zertifikat hier sicher akzeptieren — die SSH-Ebene übernimmt den eigentlichen Schutz. Schließen Sie die SSH-Sitzung, und Webmin ist nicht mehr erreichbar. Es muss nichts auf einer Allowlist stehen, nichts ist exponiert und es ist kein zusätzlicher Dienst zu härten.

Wenn Sie bind=127.0.0.1 konfigurieren und den Tunnel vergessen, wird der Fernzugriff einfach unterbrochen — das ist ein beabsichtigtes Feature und kein Fehler. Stellen Sie den Zugriff so wieder her wie in Option A: Entfernen Sie über die Konsole die bind-Zeile oder setzen Sie bind=0.0.0.0 und starten Sie neu. Dies entspricht der Tunneling-Methode, die Sie auch verwenden würden, um einen Remote-Development-Box mit Claude Code in tmux zu erreichen — eine SSH-Sitzung, alles privat, nichts weiteres lauscht an der öffentlichen Schnittstelle.

Ersetzen Sie das selbstsignierte Zertifikat durch ein echtes

Falls Sie Webmin unter einem Hostnamen gemäß Option A freigeben, können Sie die Browser-Warnung durch ein echtes Let's Encrypt-Zertifikat entfernen. Sie benötigen einen DNS-Namen — zum Beispiel panel.example.com — mit einem A-Record, der auf den Server zeigt, sowie einen Dienst, der auf Port 80 (HTTP-Challenge) während der Validierung antwortet.

Webmin verfügt über eine integrierte Funktion: Webmin, dann Webmin Configuration, dann SSL Encryption, dann den Let's Encrypt Tab. Geben Sie den Hostnamen ein, setzen Sie das "website root directory" auf einen Pfad, der für diese Domain über Port 80 erreichbar ist, und starten Sie die Anforderung. Webmin lädt das Zertifikat herunter, aktualisiert die Zeilen certfile= und keyfile= in der miniserv.conf und erneuert es automatisch vor dem Ablaufdatum. Laden Sie die Seite neu, um das grüne Schloss anzuzeigen.

Ein technisches Hindernis: Der Webmin-eigene Server läuft auf Port 10000, nicht auf Port 80. Daher benötigt die http-01-Challenge einen echten Webserver — Apache oder nginx — der für panel.example.com auf Port 80 antwortet, oder eine DNS-basierte Validierung. Auf einem reinen Webmin-System ohne Dienst auf Port 80 schlägt die Anforderung mit einem Validierungsfehler fehl, bis Let's Encrypt Zugriff auf die Challenge-Datei erhält. Die Abläufe — DNS-Records, die Port-80-Challenge und die Erneuerung — sind identisch mit der Ausstellung eines Zertifikats für jede andere Website. Für weitere Details lesen Sie den Let's Encrypt TLS certificates with Certbot and nginx guide, der den Validierungsprozess und das DNS-Setup detailliert beschreibt. Falls Sie den SSH-Tunnel nutzen, können Sie diesen Abschnitt überspringen: Das selbstsignierte Zertifikat ist über SSH sicher, und ein für panel.example.com ausgestelltes Zertifikat würde beim Aufruf von https://localhost:10000 lediglich eine Warnung wegen eines Namenskonflikts (name-mismatch) auslösen.

Zwei-Faktor-Authentifizierung aktivieren

Ein Passwort allein bietet keinen ausreichenden Schutz für das root-Panel. Fügen Sie daher einen zweiten Faktor hinzu. Öffnen Sie Webmin, dann Webmin Configuration und anschließend Two-Factor Authentication. Wählen Sie den Anbieter Google Authenticator aus — dies ist der Standard-TOTP, der mit Authy, 1Password oder jeder anderen Authenticator-App funktioniert — und speichern Sie die Einstellung. Webmin installiert das benötigte Perl-Modul (Authen::OATH plus einen QR-Generator) und aktiviert die Funktion; dieser Schritt allein schützt noch kein Konto.

Jedes Konto muss danach das eigene Gerät registrieren. Wenn 2FA aktiviert ist, öffnen Sie Webmin, dann Webmin Users, wählen Sie das Konto aus und klicken Sie auf Enable Two-Factor For User. Webmin zeigt daraufhin einen QR-Code an; scannen Sie diesen mit der App und geben Sie einen generierten Code zur Bestätigung ein. Ab diesem Zeitpunkt wird nach der Eingabe des Passworts zusätzlich ein sechsstelliger Token abgefragt. Schließen Sie die Registrierung ab, bevor Sie sich ausloggen — falls 2FA erforderlich ist, das Konto aber noch keinen Code gescannt hat, kann die Anforderung zwar über die Konsole entfernt werden, die vorherige Registrierung ist jedoch wesentlich einfacher.

Fail2ban zum Schutz gegen Brute-Force-Logins hinzufügen

Auch eingeschränkte Login-Endpunkte sollten wiederholte Fehlversuche sanktionieren. Webmin meldet fehlgeschlagene Logins im Format webmin[12345]: Invalid login as root from 10.0.0.9 an syslog, oder Non-existent login as ... für Benutzernamen, die keine Unix-Konten sind. Unter Ubuntu 24.04 landen diese Zeilen im systemd journal, da ein Standard-Image kein /var/log/auth.log besitzt. Fail2ban enthält einen Standard webmin-auth Filter, der genau diese zwei Zeilen erkennt. Die folgende Jail benötigt keine benutzerdefinierten Regex-Ausdrücke oder Log-Pfade, da sie backend = systemd selbst setzt.

Erstellen Sie /etc/fail2ban/jail.d/webmin.local:

[webmin-auth]
enabled  = true
port     = 10000
filter   = webmin-auth
backend  = systemd
maxretry = 4
bantime  = 1h

Mit sudo systemctl restart fail2ban neu laden und prüfen, ob die Jail aktiv ist:

sudo fail2ban-client status webmin-auth

Die Jail sollte anfangs mit einem Ban-Zähler von Null aufgelistet sein (beim journal backend gibt es keine File list: Zeile). Um die gesamte Konfiguration zu testen, führen Sie absichtlich einige fehlgeschlagene Logins aus einem anderen Netzwerk aus. Führen Sie anschließend den Status-Befehl erneut aus und beobachten Sie, wie Currently banned steigt. Falls der Wert nicht steigt, stellen Sie sicher, dass Sie nicht von einer Adresse aus dem Fail2ban ignoreip testen. Führen Sie journalctl SYSLOG_IDENTIFIER=webmin auf dem Server aus, um zu bestätigen, dass die Invalid login Zeilen tatsächlich geschrieben werden. Falls Fail2ban noch nicht auf diesem System installiert ist, beschreibt der Fail2ban on Ubuntu 24.04 for SSH guide die Installation sowie die SSH Jail, die parallel zu dieser Anleitung ausgeführt werden sollte.

Beschränken Sie die Berechtigungen für Webmin-Benutzer

Nicht jeder Benutzer benötigt Root-Rechte. Erstellen Sie unter Webmin, then Webmin Users zusätzliche Webmin-Logins. Weisen Sie jedem Benutzer nur die benötigten Module zu. Ein Backup-Operator benötigt beispielsweise nur die Module cron und filesystem. Das Bearbeiten eines Benutzers zeigt eine Liste aller verfügbaren Module. Durch das Deaktivieren eines Moduls wird dieses aus dem Menü des Benutzers entfernt und der Zugriff auf die zugrunde liegenden URLs wird blockiert. Dies dient der Verteidigung in der Tiefe (defence in depth): Selbst eine kompromittierte Webmin-Sitzung mit geringen Privilegien kann /etc/shadow nicht ändern, wenn das Users-Modul nicht in der Liste des Benutzers enthalten ist.

Webmin aktuell halten

Da Sie die Installation über das apt-Repository durchgeführt haben, lädt sudo apt update && sudo apt upgrade neue Webmin-Versionen zusammen mit dem restlichen System herunter. Installieren Sie Patches umgehend — ein Control Panel ist ein häufiges Ziel für Angriffe. Webmin kann sich auch selbst über Webmin, dann Webmin Configuration, dann Upgrade Webmin aktualisieren. Der Weg über apt ist unter Ubuntu jedoch sauberer, da er die Versionen mit Ihrer restlichen Paketverwaltung konsistent hält. Betrachten Sie dies nicht als optional: Mehrere vergangene Webmin-CVEs waren Bugs zur Remote-Code-Execution. Der einzige Unterschied zwischen einem „gepatchten“ und einem „kompromittierten“ System war die Geschwindigkeit, mit der der Administrator das Upgrade durchgeführt hat.

Fehlerursachen und die angezeigten Meldungen

"Your connection is not private" / NET::ERR_CERT_AUTHORITY_INVALID. Erscheint beim ersten Laden. Ursache: Das von Webmin bei der Installation generierte selbstsignierte Zertifikat hat keinen vertrauenswürdigen Aussteller. Es liegt kein Angriff vor; die Verbindung ist verschlüsselt, aber nicht verifiziert. Lösung: Ignorieren Sie die Warnung vorerst, stellen Sie dann ein echtes Let's Encrypt Zertifikat aus oder akzeptieren Sie sie dauerhaft, falls Sie Webmin über einen SSH-Tunnel aufrufen.

"This web server is running in SSL mode. Try the URL https://..." Sie haben http://server:10000 eingegeben. miniserv unterstützt auf diesem Port nur TLS und teilt dies im Klartext mit. Lösung: Ändern Sie http in https in der Adresszeile.

Seite läuft in Zeitüberschreitung — ERR_CONNECTION_TIMED_OUT / "This site can't be reached". Die Anfrage erreicht Webmin nicht. Unter Ubuntu liegt dies fast immer daran, dass ufw den Port 10000 verwirft. Prüfen Sie dies mit sudo ufw status; falls 10000 nicht aufgeführt ist, öffnen Sie den Port mit sudo ufw allow 10000/tcp oder lassen Sie ihn besser geschlossen und nutzen Sie den SSH-Tunnel aus Option B. Beachten Sie den Unterschied: Ein Timeout bedeutet, dass eine Firewall Pakete stillschweigend verwirft, während ERR_CONNECTION_REFUSED bedeutet, dass der Port erreichbar ist, Webmin aber nicht läuft — prüfen Sie sudo systemctl status webmin.

"Access denied for <your IP>." Sie haben unter Option A die IP-Zugriffskontrolle (IP Access Control) konfiguriert und Ihre aktuelle Adresse steht nicht auf der Erlaubnisliste — etwa durch eine geänderte dynamische IP oder einen Tippfehler. Es gibt keinen Weg über den Browser zurück. Lösung über die Konsole: Bearbeiten Sie die allow= Zeile in /etc/webmin/miniserv.conf, korrigieren oder löschen Sie diese und führen Sie sudo systemctl restart webmin aus.

"Login failed. Please try again." bei Verwendung korrekter Anmeldedaten. Das Konto besitzt kein Unix-Passwort, was bei Cloud-Images mit Key-only-Zugriff Standard ist. Webmin authentifiziert über PAM gegen das Unix-Passwort, welches für diesen Benutzer nicht existiert. Lösung: Führen Sie sudo passwd youruser auf dem Server aus und melden Sie sich dann an. Wenn /var/webmin/miniserv.log Non-existent login as ... anzeigt, haben Sie einen Benutzernamen eingegeben, der kein Unix-Konto ist.

Bei mehr als zwei Servern ist Automatisierung skalierbarer als ein Control Panel auf jedem einzelnen System: Ihr erstes Ansible Playbook ist der Einstiegspunkt hierfür.

FAQ

Ist es sicher, Webmin im öffentlichen Internet zu exponieren?

Betrachten Sie eine im Internet erreichbare Webmin-Instanz als eine Root-Shell mit Login-Seite, da dies technisch genau das ist. Sicherheit ist nur durch mehrere Schichten gewährleistet: ein echtes Zertifikat, Zwei-Faktor-Authentifizierung, Fail2ban und entweder eine strikte IP-Allowlist oder – noch besser – gar keine öffentliche Erreichbarkeit. Die risikoärmste Konfiguration bindet Webmin an 127.0.0.1 und macht es über einen SSH-Tunnel erreichbar, sodass Port 10000 im offenen Internet nicht antwortet.

Wie entferne ich die Webmin-Zertifikatswarnung?

Die Warnung (NET::ERR_CERT_AUTHORITY_INVALID) erscheint, weil Webmin ein selbstsigniertes Zertifikat verwendet. Erstellen Sie ein echtes Zertifikat über Webmin, Webmin Configuration, SSL Encryption, Let's Encrypt. Verwenden Sie dabei einen DNS-Namen, der auf den Server zeigt und eine Lösung bereitstellt, die die Port-80-Challenge zur Validierung beantwortet. Wenn Sie Webmin nur über einen SSH-Tunnel zu localhost erreichen, ist die Warnung harmlos – SSH verschlüsselt und authentifiziert die Verbindung bereits – und Sie können das selbstsignierte Zertifikat sicher akzeptieren.

Wie beschränke ich Webmin auf meine IP-Adresse?

Navigieren Sie zu Webmin, Webmin Configuration, IP Access Control, wählen Sie "Only allow from listed addresses" und geben Sie Ihre öffentliche IP von curl ifconfig.me ein. Webmin speichert dies in der allow=-Zeile von /etc/webmin/miniserv.conf. Beachten Sie dynamische Heim-IPs: Bei einer Änderung werden Sie ausgesperrt und müssen die allow=-Zeile über die Server-Konsole reparieren. Eine statische Adresse oder die SSH-Tunnel-Methode ist daher in der Praxis zuverlässiger.

Warum schlägt der Login trotz korrektem Passwort fehl?

Webmin authentifiziert über PAM gegen Ihr Unix-Passwort. Cloud-Images haben standardmäßig oft nur SSH-Keys ohne Passwort für das Standard-Konto – PAM findet somit keine Übereinstimmung und der Login wird abgelehnt. Führen Sie sudo passwd youruser auf dem Server aus, um ein Passwort zu setzen, und loggen Sie sich dann ein. Eine Non-existent login as ...-Zeile in /var/webmin/miniserv.log bedeutet hingegen, dass der Benutzername selbst kein echtes Unix-Konto ist.

Was ist der Vorteil von Webmin gegenüber reinem SSH?

Webmin dient als Ebene für Übersichtlichkeit und Komfort. Es ist nützlich zum Durchsuchen von Logdateien, zur Verwaltung von Benutzern und Cron-Jobs, zum Bearbeiten von Firewall-Regeln sowie zur Überprüfung des Disk- und Service-Status, ohne jeden Befehl auswendig zu lernen. Dies ist hilfreich für gelegentliche Administratoren oder Teams mit unterschiedlichen Kenntnisständen. Reines SSH ist schneller, skriptbar und bietet eine deutlich geringere Angriffsfläche für Routineaufgaben. Viele Administratoren nutzen beides: SSH für die tägliche Arbeit und Webmin, gebunden an localhost hinter einem Tunnel, für gelegentliche Aufgaben per Mausklick.