−25%

auf Windows bei Jahreszahlung, bis 31.10. Zu den Tarifen

EQVPS
Loslegen

Rocky-Linux-VPS einrichten: die ersten Schritte nach dem Root-Zugang

Die ersten zehn Minuten auf einem frischen Rocky-Linux-9-VPS: Update mit dnf, ein sudo-Benutzer mit SSH-Schlüssel, kein Root- und Passwort-Login, firewalld und automatische Sicherheitsupdates. Jeder Befehl auf unserem Image getestet.

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.

FAQ

Ist Rocky Linux dasselbe wie RHEL?

Es wird aus denselben Quellen gebaut und strebt volle Kompatibilität mit Red Hat Enterprise Linux 9 an. Anleitungen, Pakete und Gewohnheiten aus der RHEL-Welt (dnf, firewalld, SELinux) gelten also auch hier. Ein Red-Hat-Abo brauchen Sie nicht.

Warum wirkt meine SSH-Änderung auf Rocky nicht?

Rocky liest die Dateien in /etc/ssh/sshd_config.d/ in Namensreihenfolge, und für jede Einstellung gewinnt der zuerst gefundene Wert. Auf unserem Image ist die erste Datei 00-eqvps.conf. Ändern Sie die Einstellung dort und prüfen Sie das Ergebnis mit sshd -T, bevor Sie die Sitzung schließen.

Soll ich SELinux abschalten?

Nein. Auf einer frischen Installation steht es auf Enforcing, und alle Schritte hier funktionieren damit. Legen Sie Dateien für SSH oder einen Webserver an ungewöhnlichen Orten an, korrigiert restorecon -R auf diesem Pfad die Labels. SELinux wegen eines Label-Problems abzuschalten, entfernt eine echte Schutzschicht.

Kann ich den SSH-Port ändern?

Auf einem Tarif mit eigener IPv4 ja, sofern Sie den neuen Port auch in firewalld und SELinux freigeben. Auf einem NAT-Tarif lassen Sie sshd auf 22: Ihr persönlicher externer Port ist bereits auf 22 im Server weitergeleitet, und ein Umzug von sshd bricht diese Weiterleitung.

Welcher Tarif reicht für Rocky Linux?

Rocky 9 belegt im Leerlauf etwa 400 MB RAM, daher genügt Nano mit 1 GB für einen kleinen Dienst. Mit Datenbank oder Containern ist Micro mit 2 GB bequemer.

Kommentare

Noch keine Kommentare. Sei der Erste.

Kommentar hinterlassen

Kommentare werden vor der Anzeige moderiert.