Wähle einen Artikel
Debian auf VPS / Linux installieren
Debian auf VPS / Linux installieren

Volle Kontrolle mit deinem eigenen VPS von easyname

Mit einem VPS von easyname hast du volle Kontrolle über deinen Server – flexibel, skalierbar und umweltbewusst betrieben in ISO-zertifizierten Rechenzentren in Österreich. Ideal für deine Anwendungen, Projekte und maximale Performance.

Hinweis
Einige Screenshots zeigen das Backend unseres Schwesterunternehmens dogado. Die gezeigten Schritte können jedoch auch im easyname-Backend durchgeführt werden.

1. Debian 11 installieren

Im ersten Schritt wollen wir auf unseren VPS Debian 11 64 bit installieren. Dazu im easyname Login unter "Server" und dann auf "Login", um zum easyname-Cloudpit zu gelangen. Nach dem Login klickst du auf die „Wolke“ und wählst „Übersicht“ aus.

CloudPIT-Logo mit Slogan links; rechts Navigationsleiste mit CLOUD- und SERVER-Buttons sowie Dropdown 'Übersicht'.

Nun siehst du all deine VPS. Hier wählst du nun den VPS aus, auf dem du Debian 11 installieren möchtest.

Cloud-Server-Dashboard: roter Rahmen um eine Zeile; Spalten Hostname, IP-Adresse, Node, Status, Typ, Erstellt.

Klicke anschließend auf das aktuelle Betriebssystem deines Servers. Bei mir ist dies in dem Fall „CentOS 8 64 bit“.

Cloud-Server-Verwaltung: Cloud Server > TESTBEREICH.NET, OS CentOS 8 / Minimal / 64 bit, IP-Adresse: 178.250.170.125

Nun solltest du folgendes sehen:

Installationsfenster mit OS-Dropdown; Debian 11.0 / 64 bit ausgewählt, weitere Optionen sichtbar.

Wähle dir nun Debian 11 aus der Liste aus.

Nachdem du Debian 11 gewählt hast, gibst du noch ein Kennwort ein. Dies wird später dein root Kennwort.

Installationsdialog: Betriebssystem-Auswahl (Debian 11.0/64 Bit), Passwortfelder, roter Rahmen, Installieren-Button.

Nun klickst du auf „Betriebssystem installieren“. Du solltest dann folgende Meldung erhalten, die du mit „Ja“ bestätigt.

Bestätigungsdialog: Überschrift 'BETRIEBSSYSTEM NEU INSTALLIEREN'; Frage + Warnhinweis; Buttons 'NEIN' und 'JA' (blau).

Nun sollte bei dir folgende Meldung erscheinen. Dieser Vorgang dauert nun einige Minuten.

Screenshot einer Server-Verwaltungsoberfläche; oben grüne Meldung: 'Der Cloud Server wird neu installiert.'

Du kannst wieder oben auf die „Wolke“ klicken. Hier siehst du die Übersicht deiner Server. In dieser Übersicht sollte dann stehen „Betriebssystem wechseln“. Du musst die Seite öfter dann mit „F5“ aktualisieren.

Tabellenliste eines Dashboards; Zeile mit Hostname 'testbereich.net', hervorgehobene Zelle 'Betriebssystem'.

Nach kurzer Zeit sollte es dann so aussehen: 

Cloud-Server-Dashboard: Hostname testbereich.net, IP 178.250.170.125; Status gestoppt (rot); Linux-Server v2, Debian 11.0.

2. VPS starten

Nach der Installation ist dein VPS noch gestoppt. Um ihn zu starten, klickst du auf deinen Server und anschließend auf den „grünen Pfeil“.

Obere Leiste mit Cloud-Server-Logo, Domainname, Debian 11.0/64-Bit, IP-Adresse 178.250.170.125; rote Statusanzeige rechts.

Warte nun einige Sekunden. Anschließend solltest du folgendes sehen:

Cloud-Server-Dashboard: blauer Kopfbereich, linke Logo- und Textzeile, rechts grüne Statusanzeige mit GESTARTET.

3. Per SSH mit deinem VPS verbinden

Nachdem du dienen Server installierst und gestartet hast, wollen wir uns das erste Mal damit verbinden. Dazu benötigst du einen SSH Client. Ein kostenloser, beliebter SSH Client ist PuTTy. Klicke auf „here“.

Screenshot einer PuTTY-Downloadseite: Textblock über PuTTY und ein roter Rahmen um den Link 'here'.

Anschließend wählst du dir den 32bit oder 64bit Installer aus.

PuTTY-Downloadseite: Paket-Dateien, Windows-Installer (64-Bit x86, 32-Bit x86) und Unix-Quellen.

Starte nun Putty und gib bei „Host Name“ die IP an, welche dir das easyname Cloudpit anzeigt. Der Port ist hier 22.

PuTTY-Konfigurationsfenster: Hostname 178.250.170.125, Port 22; SSH ausgewählt; linke Kategorienliste.

IP deines Servers: 

Cloud-Server-Icon; CLOUD SERVER > TESTBEREICH.NET; Betriebssystem Debian 11.0/64 Bit; IP-Adresse 178.250.170.125

Wenn du dich bereits vor der Neuinstallation schon mal mit dem Server verbunden hast, dann solltest du folgende Meldung bekommen. Dies ist normal. Klicke hier auf „ja“ um dich mit dem Server zu verbinden.

PuTTY-Sicherheitswarnung: Fenster mit gelbem Warnsymbol; Titel 'WARNING - POTENTIAL SECURITY BREACH!', Ja, Nein, Abbrechen, Hilfe.

Gib nun als Nutzername „root“ ein und dein eben gewähltes Kennwort. Nach erfolgreichem Login siehst du folgendes:

PuTTY-Terminal auf Windows, schwarzer Bildschirm mit Text: login as: root, Debian GNU/Linux-Meldungen, root@...:~#

4. Programme updaten

Nun können wir ein Update aller bereits installierten Programme durchführen. Gib dazu folgendes ein. Durch diesen Befehl werden dir später alle verfügbaren Updates angezeigt.

apt-get update
Terminalfenster: root@testbereich:~# apt-get update; mehrere Get-Zeilen zu Debian-Servern mit InRelease und Packages.

Zum Installieren der Updates gibst du nun folgendes ein:

apt-get upgrade

Hier musst du nun noch einmal mit „y“ bestätigen, dass die verfügbaren Updates installiert werden sollen.

Terminal: apt-get upgrade; Pakete zum Upgrade: base-files, distro-info-data, libcurl4, libgpm10, libseccomp2, vim, vim-common, vim-runtime. Do you want to continue? [Y/n]

5. Benutzer erstellen

Nun wollen wir uns neben unserem Benutzer „root“ noch einen weiteren Benutzer erstellen. Gib dazu folgendes ein:

adduser 

Mein Benutzer soll z.B. „dogado“ heißen. Also gebe ich folgendes ein:

adduser dogado

Nun wirst du noch nach einem Kennwort für deinen Nutzer gefragt. Dies musst du zwei Mal eingeben. Anschließend wirst du noch nach persönlichen Daten gefragt. Hier kannst du die Abfrage einfach mit „ENTER“ überspringen.

Schwarzes Terminalfenster zeigt Benutzereinstellung: 'Adding new user' mit Feldern für Name, Room, Phone; Bestätigung.

6. Texteditor nano installieren

Nun installieren wir uns noch einen Texteditor, welchen wir später zum Anpassen einiger Einstellungen benötigen. Gib dazu folgendes ein:

apt-get install nano

7. SSH Port ändern und root Login deaktivieren

Nun wollen wir noch unseren SSH Port ändern. Dies ist nützlich, da dieser normalerweise immer auf Port 22 läuft. Im Internet gibt es viele automatische Scanner, welche genau diesen Port scannen. Indem wir diesen also abändern, werden wir bei diesen automatischen Scans nicht erkannt. Ebenfalls wollen wir noch den root Login deaktivieren. Dies bedeutet, dass sich der Benutzer „root“ später nicht mehr direkt per SSH anmelden kann. Dies gibt uns zusätzliche Sicherheit, da so ein Angreifer sich erst als Benutzer Zugang zu unserem Server verschaffen muss und dann erst Zugang zu unserem root Nutzer bekommen kann, wenn er das root Kennwort besitzt. Um die Änderungen durchzuführen, gibst du nun folgenden Befehl ein:

nano /etc/ssh/sshd_config

7.1 Port ändern

Dazu änderst du folgende Zeile ab:

#Port 22

Bei mir soll SSH auf Port 2222 bereitgestellt werden. Also gebe ich folgendes ein:

Port 2222
Screenshot eines Terminalfensters mit Nano-Editor, sshd_config-Datei geöffnet; Port 2222, ListenAddress 0.0.0.0 und ::

7.2 Root Login verbieten

Dies kannst du nur machen, wenn du in Schritt 5 einen neuen Benutzer erstellt hast. Hast du keinen neuen Benutzer erstellt, so kannst du dich später nicht mehr anmelden.

Scrolle nun ganz ans Ende der Datei. Dort findest du folgenden Eintrag:

PermitRootLogin yes

Dies änderst du auf folgendes ab:

PermitRootLogin no
Screenshot eines Terminalfensters mit Konfigurationszeilen; die Zeile 'PermitRootLogin no' ist durch einen roten Rahmen markiert.

Anschließend kannst du mit „STRG+O“ die Datei speichern und mit „STRG+X“ das Programm beenden.

7.3 SSH Dienst neu starten

Nun musst du noch den SSH Dienst neu starten, damit die Änderungen übernommen werden. Gib dazu folgendes ein:

/etc/init.d/ssh restart

7.4 Per SSH verbinden

Nun starten wir eine zusätzliche Putty Sitzung. Lass deine aktuelle Konsole noch offen! Dies ist wichtig, falls du Fehler gemacht haben solltest, da du sonst keinen Zugriff mehr auf deinen Server hast. Gib nun folgendes bei Putty ein:

PuTTY-Konfiguration: Host 178.250.170.125, Port 2222, SSH ausgewählt; linke Seitenleiste sichtbar.

Wichtig ist, dass du hier deinen „neuen SSH Port“ angibst. Bei mir erscheint nun wieder eine Meldung, dass sich der Server verändert hat. Dies bestätige ich mit „Ja“.

PuTTY-Sicherheitswarnung: Dialog mit Warndreieck und Warnhinweis; Buttons: Ja, Nein, Abbrechen, Hilfe.

Melde dich nun mit deinem neuen Benutzer aus Schritt 5 an.

Schwarzes Terminalfenster auf Windows; Eingabezeile 'login as: dogado' und Debian GNU/Linux-Willkommensnachricht.

8. Zwischen den Benutzern wechseln

Um von deinem Nutzer auf den Benutzer „root“ zu wechseln, gibst du einfach „su“ ein, gefolgt von dem Root Kennwort.

Terminalfenster mit schwarzem Linux-Terminal; Text: login as: dogado, Password:, Debian-Willkommensbanner und Root-Prompt.

Anhand der „#“ siehst du, dass du nun „root“ seid.

Um vom Benutzer root zu deinem neu erstellten Benutzer zu wechseln, gibst du folgendes ein:

su <Nutzername>

In meinem Fall also

su dogado
Schwarzes Terminalfenster mit weißen Befehlen; Shell-Prompt root@testbereich:/home/...$; blauer Windows-Hintergrund.

Hierbei musst du kein Kennwort eingeben.

9. UFW Firewall installieren und einrichten

9.1 Installieren

Nun wollen wir auf unserem Debian VPS noch eine Firewall installieren. Die nachfolgenden Befehle führe ich als root aus. Gib also „su“ in die Konsole ein, damit du wieder „root“ bist. Anschließend gibst du nun folgendes ein:

apt-get install ufw

9.2 aktuell genutzte Ports anzeigen

Nach der Installation schauen wir uns alle aktuell genutzten Ports an. Dies ist wichtig, da du diese Ports gegeben falls später wieder freigeben musst. Gib dazu folgenden Befehl ein:

ss -nptl

Bei mir sieht die Ausgabe so aus:

Schwarzer Bildschirm mit Terminalausgabe: weiße/grüne Textzeilen; rechts rote Zahlen-Spalte.

Dies bedeutet, dass folgende Ports genutzt werden:

  • 25: SMTP
  • 53: DNS
  • 80: Webserver
  • 2222: SSH
  • 5355: LLMNR

9.3 Ports freigeben

Nun geben wir die Ports frei, welche wir benötigen. Bei mir ist dies nur der SSH Zugriff (Port 2222) und der Webserver (Port 80) Gib dazu folgendes ein:

sudo ufw allow 80
sudo ufw allow 2222

Für jeden Port wird nun eine Regel angelegt.

Terminalfenster mit Root-Prompt; zwei Befehle: sudo ufw allow 80 und sudo ufw allow 2222; Ausgabe: Rules updated (v6).

9.4 UFW starten / beenden

Du kannst die ufw Firewall mit folgenden Befehlen starten bzw. beenden:

Starten der Firewall sudo ufw enable

Beenden der Firewall sudo ufw disable

Wenn du die Firewall startest, erscheint folgende Meldung. Diese musst du mit „y“ bestätigen.

Terminal: root@testbetrieb:/home/dogad$ 'sudo ufw enable'; Warnung zu SSH-Verbindungen; Firewall aktiv und beim Systemstart.

9.5 Status der Firewall anzeigen

Du kannst dir mittels folgenden Befehls den Status anzeigen lassen. So erfährst du, ob ufw aktiviert ist und welche Regeln aktuell aktiv sind.

sudo ufw status
Terminalfenster zeigt 'sudo ufw status': Status: active; Regeln: To 80, 2222, 80 (v6), 2222 (v6); From Anywhere.

10. Server gegen Brute Force Angriffe absichern

Dein Server wird als Teil des Internets regelmäßig von Bots „angegriffen“. Dies bedeutet, dass Angreifer versuchen sich Zugang per SSH auf deinen Server zu verschaffen. Daher haben wir bereits den SSH Port angepasst. Ein Angreifer findet jedoch auch ohne Probleme deinen frei gewählten SSH Port heraus. Daher wollen wir nun die Anzahl der Versuche der Passworteingabe beschränken. Dies bedeutet, dass man später nur beispielsweise 5 Versuche in 30 Minuten hat und danach für einen gewissen Zeitraum gebannt wird. Somit wird es für einen Angreifer viel schwerer Zugang zu deinem Server zu bekommen. Das Tool hierfür ist „fail2ban“.

Dies installieren wir mit folgendem Befehl:

apt-get install fail2ban

Hier musst du mit „y“ noch bestätigen, dass fail2ban installiert wird.

Anschließend erstellen wir uns eine Konfigurationsdatei:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Diese öffnen wir nun

nano /etc/fail2ban/jail.local

Wenn du nun etwas nach unten scrollst, solltest du folgende Einträge finden: 

Dunkles Terminal mit Codezeilen: Kommentare zu bantime, findtime und maxretry; Werte bantime=10m, findtime=10m, maxretry=5.

Standardmäßig ist hier eingestellt, dass man 5 Versuche innerhalb von 10 Minuten hat. Wenn man also 5x innerhalb von 10 Minuten das Passwort eingibt, wird man für 10 Minuten gebannt. Diese Werte kannst du beliebig anpassen.

Scrolle nun noch weiter nach unten, bis du folgendes siehst:

Schwarzes Terminal mit hellgrünem Text; zeigt 'JAILS', SSHD-Abschnitt, Hinweise zu mode, Port, logpath und Backend.

Wir wollen nun unseren SSH Dienst absichern. Dazu schreiben wir in den Bereich „sshd“ folgendes:

enabled = true

Anschließend ändern wir noch den Port auf unseren veränderten SSH Port ab. Passt also folgendes an:

port = 2222

So sieht dann meine Konfiguration aus:

Dunkles Terminalfenster mit SSHD-Konfigurationszeilen, z. B. 'mode = normal' und 'enabled = true'.

Anschließend kannst du mit „STRG+O“ die Datei speichern und mit „STRG+X“ das Programm beenden. Nun müssen wir „fail2ban“ noch neu starten, damit die Änderungen übernommen werden. Gib dazu folgendes ein:

/etc/init.d/fail2ban restart

Nun können wir uns den aktuellen Status von fail2ban anschauen. Dazu gibst du folgendes ein:

/etc/init.d/fail2ban status

Hier sehen wir nun, dass fail2ban korrekt läuft.

Terminalfenster zeigt Systemd-Status von fail2ban: aktiv, PID 2577; Server ready.

Ebenfalls kannst du dir noch die Log Dateien anschauen. Dort finden wir noch weitere Informationen. Gib einfach folgendes ein:

cat /var/log/fail2ban.log

Hier sehen wir auch, dass unser Schutz „sshd“ aktiviert ist und wie die genauen „Bannzeiten“ sind.

Schwarzes Terminalfenster mit vielen Logzeilen; Meldungen wie Starting Fail2ban, INFO/WARN; Verweis auf /var/log/auth.log
Weitere passende Themen