PepperTools Ratgeber
Technik & Server

Debian-vServer einrichten und absichern: Schritt-für-Schritt für Einsteiger (Teil 1 von 3)

Teil 1 der Serie „Eigener Server – von 0 auf sicher": Sie haben einen vServer gemietet – und jetzt? Diese Einsteiger-Anleitung bringt Ihren Debian-12-Server auf einen sicheren Grundzustand: System aktualisieren, sudo-Benutzer, SSH per Schlüssel absichern, Firewall, Fail2ban und automatische Sicherheitsupdates. Jeder Schritt zum Kopieren.

Debian-vServer einrichten und absichern: Schritt-für-Schritt für Einsteiger (Teil 1 von 3)

Debian-vServer einrichten und absichern: Schritt-für-Schritt für Einsteiger (Teil 1 von 3)

Serie „Eigener Server – von 0 auf sicher" · 3 Teile:

  1. Debian-vServer einrichten & absichernSie sind hier
  2. Froxlor installieren & konfigurieren
  3. E-Mail richtig einrichten: SPF, DKIM & DMARC

Diese Anleitung ist Teil 1. Sie bringt Ihren frisch gemieteten Server auf einen sicheren Grundzustand. Auf diesem Server installieren wir in Teil 2 das Verwaltungs-Panel Froxlor und richten in Teil 3 den E-Mail-Versand ein.

Debian vServer einrichten & absichern

Inhalt


Sie haben gerade einen vServer (VPS) gemietet und sich gefragt: „Und jetzt?" Genau da setzen wir an. Diese Anleitung ist für absolute Einsteiger geschrieben. Wir erklären in einfachen Worten, was wir tun und warum – und Sie können jeden Befehl einfach kopieren und einfügen. Am Ende haben Sie einen aktuellen, gegen die häufigsten Angriffe geschützten Server.

Wir verwenden Debian 12 (Bookworm), eines der beliebtesten und stabilsten Server-Betriebssysteme. Wenn Sie Ubuntu nutzen, funktionieren fast alle Befehle identisch.

Wichtig: Ersetzen Sie in allen Befehlen die Platzhalter durch Ihre echten Werte – SERVER-IP durch die IP-Adresse Ihres Servers (steht in der Bestätigungs-E-Mail Ihres Anbieters) und benutzername durch einen Namen Ihrer Wahl.

Voraussetzungen

  • Ein gemieteter vServer/VPS mit Debian 12. Falls Sie noch keinen haben: Anbieter sind z. B. IONOS, Hetzner oder webtropia.
  • Die IP-Adresse und das Root-Passwort Ihres Servers (vom Anbieter per E-Mail erhalten).
  • Ein Terminal auf Ihrem eigenen Computer: unter macOS und Linux ist es vorinstalliert („Terminal"), unter Windows nutzen Sie die PowerShell (vorinstalliert) oder PuTTY.

Mehr brauchen Sie nicht. Los geht's.

Schritt 1: Per SSH mit dem Server verbinden

„SSH" ist eine verschlüsselte Fernverbindung zu Ihrem Server – Sie tippen Befehle auf Ihrem Computer, ausgeführt werden sie auf dem Server. Öffnen Sie Ihr Terminal und verbinden Sie sich als Benutzer root:

ssh root@SERVER-IP

Beim ersten Mal werden Sie gefragt, ob Sie dem Server vertrauen – tippen Sie yes und drücken Sie Enter. Danach geben Sie das Root-Passwort ein (die Eingabe ist unsichtbar, das ist normal). Sind Sie verbunden, sieht die Zeile etwa so aus:

root@ihr-server:~#

Glückwunsch – Sie sind drauf. (Eine ausführliche Einführung zu SSH gibt es im Debian-Wiki.)

Schritt 2: Das System aktualisieren

Ein frisch installierter Server enthält oft veraltete Pakete mit bekannten Sicherheitslücken. Der allererste Schritt ist deshalb immer: alles aktualisieren. Mit diesem Befehl lädt der Server die Liste verfügbarer Updates, installiert sie, entfernt nicht mehr benötigte Pakete und räumt auf:

apt update && apt full-upgrade -y && apt autoremove -y && apt clean

Das kann ein paar Minuten dauern. Falls dabei ein Hinweis erscheint, dass ein Neustart nötig ist, starten Sie den Server neu:

reboot

Nach dem Neustart sind Sie kurz getrennt. Warten Sie ~30 Sekunden und verbinden Sie sich erneut mit ssh root@SERVER-IP.

Schritt 3: Hostname, Zeitzone und Sprache einstellen

Damit Logs korrekte Zeitstempel haben und der Server einen sauberen Namen trägt, stellen wir drei Kleinigkeiten ein.

Hostname (ein Name für Ihren Server, z. B. web01):

hostnamectl set-hostname web01

Zeitzone auf Deutschland setzen:

timedatectl set-timezone Europe/Berlin

Sprachpakete (Locales) installieren und Deutsch/UTF-8 erzeugen:

apt install -y locales
sed -i 's/# de_DE.UTF-8/de_DE.UTF-8/' /etc/locale.gen
locale-gen

Prüfen Sie das Ergebnis mit:

timedatectl

Dort sollte „Time zone: Europe/Berlin" stehen.

Schritt 4: Einen Benutzer mit sudo-Rechten anlegen

Dauerhaft als root zu arbeiten ist gefährlich – ein Tippfehler kann das ganze System beschädigen. Besser: ein normaler Benutzer, der nur bei Bedarf mit dem vorangestellten Wort sudo Administrator-Rechte bekommt.

Legen Sie den Benutzer an (ersetzen Sie benutzername) und vergeben Sie ein starkes Passwort, wenn Sie danach gefragt werden:

adduser benutzername

Die weiteren Abfragen (Name, Telefon …) können Sie mit Enter überspringen. Jetzt geben Sie dem Benutzer sudo-Rechte:

usermod -aG sudo benutzername

Testen Sie es, bevor Sie weitermachen. Öffnen Sie ein zweites Terminal-Fenster und melden Sie sich mit dem neuen Benutzer an:

ssh benutzername@SERVER-IP

Prüfen Sie, ob sudo funktioniert:

sudo whoami

Wenn nach Passworteingabe root erscheint, ist alles korrekt. Lassen Sie dieses zweite Fenster offen – wir brauchen es im nächsten Schritt als Sicherheitsnetz.

Schritt 5: SSH absichern (Root-Login aus, Key-Login)

Jetzt machen wir den Fernzugang deutlich sicherer. Zwei Maßnahmen: Login per SSH-Schlüssel statt Passwort und kein direkter Root-Login mehr.

Achtung – Aussperr-Gefahr: In diesem Schritt verändern wir den SSH-Zugang. Lassen Sie das funktionierende Fenster aus Schritt 4 unbedingt offen. So kommen Sie wieder rein, falls etwas schiefgeht.

Windows-Hinweis – brauche ich PuTTY und Pageant? Nicht zwingend. Windows 10/11 bringt OpenSSH bereits mit, die folgenden Befehle (ssh-keygen, ssh) funktionieren direkt in der PowerShell – genau wie unter macOS/Linux. Wenn Sie lieber die PuTTY-Werkzeuge nutzen (oder ein älteres Windows haben), geht es so:

>

1. Schlüssel erzeugen mit PuTTYgen: „Type of key" auf EdDSA → Ed25519 stellen, Generate klicken, die Maus bewegen. Den privaten Schlüssel als .ppk speichern; den angezeigten öffentlichen Schlüssel (Feld „Public key for pasting…") in die Zwischenablage kopieren. 2. Den öffentlichen Schlüssel auf dem Server in die Datei ~/.ssh/authorized_keys Ihres Benutzers eintragen (eine Zeile). 3. Den privaten Schlüssel mit Pageant (dem PuTTY-Schlüssel-Agenten) laden – so müssen Sie ihn nicht bei jeder Verbindung erneut auswählen. 4. Mit PuTTY verbinden (Host: benutzername@SERVER-IP).

>

PuTTYgen und Pageant sind im PuTTY-Paket enthalten: putty.org. Funktional ist beides gleichwertig – wir bleiben unten beim eingebauten OpenSSH, weil es weniger Schritte braucht.

5.1 Schlüssel auf Ihrem eigenen Computer erzeugen. Führen Sie diesen Befehl in einem Terminal auf Ihrem PC aus (nicht auf dem Server) und bestätigen Sie die Fragen mit Enter:

ssh-keygen -t ed25519 -C "mein-server"

5.2 Den öffentlichen Schlüssel auf den Server kopieren (ebenfalls von Ihrem PC):

ssh-copy-id benutzername@SERVER-IP

Unter Windows ohne ssh-copy-id nutzen Sie stattdessen:

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh benutzername@SERVER-IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

5.3 Testen: Melden Sie sich neu an – jetzt sollte kein Passwort mehr abgefragt werden:

ssh benutzername@SERVER-IP

5.4 Passwort-Login und Root-Login abschalten. Bearbeiten Sie auf dem Server die SSH-Konfiguration mit dem Editor nano:

sudo nano /etc/ssh/sshd_config

Suchen Sie die folgenden Zeilen (oder fügen Sie sie hinzu) und setzen Sie sie genau so:

PermitRootLogin no
PasswordAuthentication no

Speichern mit Strg+O, Enter, schließen mit Strg+X. Danach den SSH-Dienst neu laden:

sudo systemctl restart ssh

Wichtig: Schließen Sie Ihr aktuelles Fenster noch nicht. Öffnen Sie ein neues und testen Sie, dass der Login als benutzername weiterhin klappt – und dass ssh root@SERVER-IP jetzt abgelehnt wird. Erst dann ist der Schritt geschafft. Hintergründe dazu im Debian-Wiki zu SSH.

Schritt 6: Firewall einrichten (ufw)

Eine Firewall blockiert alle Netzwerk-Ports außer den wenigen, die Sie wirklich brauchen. Wir nutzen ufw („Uncomplicated Firewall") – einfach und einsteigerfreundlich.

Installieren und Grundregeln setzen (alles eingehende blocken, ausgehend erlauben):

sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing

Den SSH-Zugang vor dem Aktivieren erlauben – sonst sperren Sie sich aus:

sudo ufw allow OpenSSH

Für den späteren Webserver (Froxlor in Teil 2) öffnen wir auch Web-Ports:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Jetzt die Firewall aktivieren und den Status prüfen:

sudo ufw enable
sudo ufw status verbose

Bestätigen Sie die Nachfrage mit y. In der Statusliste sollten nur SSH (22), 80 und 443 als erlaubt auftauchen. Details zu ufw stehen im Ubuntu-Server-Guide.

Schritt 7: Brute-Force-Schutz mit Fail2ban

Angreifer probieren automatisiert tausende Passwörter durch. Fail2ban erkennt zu viele Fehlversuche und sperrt die angreifende IP-Adresse vorübergehend. Installieren und aktivieren:

sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban

Wir legen eine eigene Konfiguration an, damit Updates sie nicht überschreiben:

sudo nano /etc/fail2ban/jail.local

Fügen Sie folgenden Inhalt ein (sperrt eine IP nach 5 Fehlversuchen für 1 Stunde):

[sshd]
enabled = true
maxretry = 5
bantime = 1h
findtime = 10m

Speichern (Strg+O, Enter, Strg+X) und den Dienst neu starten:

sudo systemctl restart fail2ban

Den Status können Sie jederzeit ansehen mit:

sudo fail2ban-client status sshd

Schritt 8: Automatische Sicherheitsupdates

Sicherheitslücken werden laufend entdeckt. Damit Ihr Server wichtige Patches automatisch einspielt, richten wir unattended-upgrades ein:

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

Wählen Sie in der Abfrage „Yes". Das war's – ab jetzt installiert der Server Sicherheitsupdates selbstständig. Mehr dazu im Debian-Wiki zu UnattendedUpgrades.

Checkliste: Ist Ihr Server sicher?

Gehen Sie vor dem Weitermachen kurz durch:

  • [ ] System ist aktuell (apt update && apt full-upgrade)
  • [ ] Hostname, Zeitzone (Europe/Berlin) und Locale gesetzt
  • [ ] Eigener Benutzer mit sudo-Rechten funktioniert
  • [ ] Login per SSH-Schlüssel funktioniert, Passwort-Login ist aus
  • [ ] ssh root@SERVER-IP wird abgelehnt
  • [ ] Firewall (ufw) aktiv, nur 22/80/443 offen
  • [ ] Fail2ban läuft
  • [ ] Automatische Sicherheitsupdates aktiv

Häufige Fragen (FAQ)

Ich habe mich ausgesperrt – was nun? Fast jeder Anbieter bietet eine „VNC-" oder „Konsolen"-Funktion im Kundenbereich, mit der Sie sich auch ohne SSH direkt anmelden und Einstellungen zurücknehmen können.

Muss ich SSH-Schlüssel nutzen oder reicht ein Passwort? Schlüssel sind deutlich sicherer und werden dringend empfohlen. Wenn Sie unbedingt beim Passwort bleiben, lassen Sie PasswordAuthentication auf yes – nutzen Sie dann aber ein sehr langes Passwort und unbedingt Fail2ban.

Funktioniert das auch unter Ubuntu? Ja, nahezu identisch. Lediglich bei sehr alten Versionen können einzelne Paketnamen abweichen.

Brauche ich Vorkenntnisse in Linux? Nein. Wenn Sie die Befehle kopieren und die Platzhalter ersetzen, kommen Sie durch. Etwas Geduld beim ersten Mal hilft.

Wie geht es weiter?

Ihr Server steht jetzt sicher da. Im nächsten Teil installieren wir Froxlor, ein kostenloses Verwaltungs-Panel, mit dem Sie Domains, Webseiten, SSL-Zertifikate und Datenbanken bequem über eine Oberfläche verwalten – ganz ohne Konsole:

👉 Teil 2: Froxlor installieren & konfigurieren

Und in Teil 3: E-Mail richtig einrichten: SPF, DKIM & DMARC sorgen wir dafür, dass Ihre E-Mails sicher zugestellt werden.

Übrigens: Wenn Sie lieber Software entwickeln lassen oder individuelle Server-/Web-Lösungen brauchen, hilft Ihnen PepperTools gern weiter.

Quellen

Stand: Juni 2026. Befehle und Paketnamen können sich mit neuen Versionen ändern – maßgeblich ist die jeweils offizielle Dokumentation.

Rechnungen einfacher erledigen

Easy Invoice bündelt Angebote, Rechnungen und Kundenverwaltung in der Cloud.

Easy Invoice testen

Sprachversionen

EN Set up and secure a Debian vServer: a beginner's step-by-step guide (Part 1 of 3) FR Configurer et sécuriser un vServer Debian : guide pas à pas pour débutants (Partie 1 sur 3) ES Configurar y asegurar un vServer Debian: guía paso a paso para principiantes (Parte 1 de 3) IT Configurare e mettere in sicurezza un vServer Debian: guida passo passo per principianti (Parte 1 di 3) TR Debian vServer kurulumu ve güvenli hale getirme: yeni başlayanlar için adım adım (3'ün 1. Bölümü) PL Konfiguracja i zabezpieczenie serwera Debian vServer: krok po kroku dla początkujących (Część 1 z 3) RU Настройка и защита vServer на Debian: пошагово для новичков (Часть 1 из 3) NL Een Debian-vServer instellen en beveiligen: stap-voor-stap voor beginners (Deel 1 van 3)