Rocky Linux 9 ist die kostenlose RHEL-kompatible Wahl: dieselben Pakete, dasselbe dnf, dieselben firewalld und SELinux. Wenn Sie schon Debian oder Ubuntu eingerichtet haben, ist die Reihenfolge der Schritte gleich, nur die Werkzeuge unterscheiden sich. Hier sind die ersten zehn Minuten auf einem frischen Rocky-9-Server.
Jeden Befehl unten haben wir vor der Veröffentlichung auf unserem Rocky-Linux-9-Image ausgeführt. Auf einem sauberen Server dauert die ganze Abfolge ein paar Minuten.
1. System aktualisieren
Melden Sie sich mit dem Passwort aus dem Dashboard als root an und aktualisieren Sie:
dnf -y upgrade
Auf unserem Image dauerte das im Test Sekunden, weil das Image schon aktuell war.
2. sudo-Benutzer anlegen und SSH-Schlüssel hinzufügen
Unter Rocky heißt die Admin-Gruppe wheel, nicht sudo:
useradd -m -G wheel deploy
passwd deploy # sudo will ask for this password
Legen Sie Ihren öffentlichen Schlüssel auf den Server (so erstellen Sie einen). Wenn Sie ihn nach /root/key.pub kopiert haben:
install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
install -m 600 -o deploy -g deploy /root/key.pub /home/deploy/.ssh/authorized_keys
restorecon -R /home/deploy/.ssh
restorecon setzt die SELinux-Labels, die sshd erwartet. Mit falschem Label scheitert der Schlüssel-Login ohne erkennbare Fehlermeldung.
Öffnen Sie ein zweites Terminal und prüfen Sie, dass ssh deploy@YOUR.SERVER.IP funktioniert und sudo -v das Passwort annimmt. Lassen Sie die Root-Sitzung offen, bis das klappt.
3. Root- und Passwort-Login abschalten
Hier unterscheidet sich Rocky von der Lehrbuch-Änderung an sshd_config. Die Einstellungen liegen in Drop-in-Dateien unter /etc/ssh/sshd_config.d/, und sshd nimmt den ersten gefundenen Wert. Auf unserem Image ist die erste Datei 00-eqvps.conf; sie erlaubt Root- und Passwort-Login, damit Sie am ersten Tag hineinkommen. Ändern Sie es dort:
sed -i -e 's/^PermitRootLogin .*/PermitRootLogin no/' \
-e 's/^PasswordAuthentication .*/PasswordAuthentication no/' \
/etc/ssh/sshd_config.d/00-eqvps.conf
sshd -t && systemctl reload sshd
sshd -T | grep -E '^(permitrootlogin|passwordauthentication) '
Der letzte Befehl zeigt, was sshd tatsächlich durchsetzt. Sie wollen sehen:
permitrootlogin no
passwordauthentication no
Danach wird ssh root@… selbst mit Schlüssel abgelehnt, und deploy meldet sich nur noch per Schlüssel an.
4. Firewall: firewalld
Das Cloud-Image enthält kein firewalld. Installieren, starten und nur das Nötige offen lassen:
dnf -y install firewalld
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --remove-service=cockpit
firewall-cmd --reload
firewall-cmd --list-services
Die Standardzone öffnet cockpit (Port 9090) und dhcpv6-client. Cockpit ist nicht installiert, aber es gibt keinen Grund, seinen Port offen zu lassen. Wenn Sie eine App hinzufügen, öffnen Sie deren Port genauso, zum Beispiel firewall-cmd --permanent --add-service=https.
5. Automatische Sicherheitsupdates
dnf-automatic lädt Updates per Timer herunter. Standardmäßig installiert es sie nicht, also schalten Sie das ein:
dnf -y install dnf-automatic
sed -i 's/^apply_updates = .*/apply_updates = yes/' /etc/dnf/automatic.conf
systemctl enable --now dnf-automatic.timer
systemctl list-timers dnf-automatic.timer
Wenn Sie nur Sicherheitskorrekturen möchten, setzen Sie in derselben Datei zusätzlich upgrade_type = security.
6. SELinux eingeschaltet lassen
getenforce gibt auf einem frischen Server Enforcing aus, und alles oben funktioniert damit. Braucht eine App einen ungewöhnlichen Port oder ein Verzeichnis, ist die Lösung ein Label (semanage port, restorecon), nicht setenforce 0.
Welcher Tarif
Rocky 9 belegt im Leerlauf etwa 400 MB RAM. Der Tarif Nano (1 GB, $3/Monat) reicht für einen einzelnen kleinen Dienst; Micro (2 GB, $5/Monat) lässt Platz für eine Datenbank. Bei NAT-Tarifen kommt SSH über einen persönlichen Port aus dem Dashboard herein. Brauchen Sie die Ports 80/443 offen für alle, nehmen Sie einen Tarif mit eigener IPv4, etwa Micro-IP für $10/Monat.
Rocky Linux 9 ist eines der Images auf der Seite der RHEL-Familie und bei jedem Tarif unter VPS verfügbar. Bezahlt wird in USDT, USDC oder ETH auf Base, Ethereum oder Polygon, ohne Ausweis und ohne Karte. Wer den Server lieber per Skript steuert: Bestellung, Neuinstallation und Verlängerung stehen in der API-Dokumentation.
Kommentare
Noch keine Kommentare. Sei der Erste.