SSH-Key-Einrichtung: Schluessel erstellen, Root-Passwort deaktivieren & VPS absichern
TUTORIAL 10 min read fordnox

SSH-Key-Einrichtung: Schluessel erstellen, Root-Passwort deaktivieren & VPS absichern

Erfahren Sie, wie Sie SSH-Schluessel erstellen, die Root-Passwort-Anmeldung deaktivieren und offene Ports auf Ihrem VPS pruefen. Schritt-fuer-Schritt-Anleitung zur Absicherung Ihres Servers in wenigen Minuten.


SSH-Key-Einrichtung: Schluessel erstellen, Root-Passwort deaktivieren & VPS absichern

Jeder VPS, den Sie starten, wird sofort von Bots gescannt, die Standardpasswoerter ausprobieren. Innerhalb von Minuten. Wenn Sie sich immer noch mit einem Root-Passwort anmelden, sind Sie nur einen Brute-Force-Angriff von einem kompromittierten Server entfernt.

SSH-Schluessel loesen dieses Problem. Sie sind staerker als jedes Passwort, schneller in der Anwendung und ermoeglichen es Ihnen, die Passwort-Anmeldung vollstaendig zu deaktivieren. Hier erfahren Sie, wie Sie alles einrichten und wie Sie pruefen, welche Ports auf Ihrem Server offen sind.

Schritt 1: Ein SSH-Schluesselpaar erstellen

SSH-Schluessel funktionieren paarweise — ein privater Schluessel (bleibt auf Ihrem Computer, niemals teilen) und ein oeffentlicher Schluessel (kommt auf den Server).

Unter macOS oder Linux

Oeffnen Sie ein Terminal und fuehren Sie aus:

ssh-keygen -t ed25519 -C "your@email.com"

Sie sehen:

Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/you/.ssh/id_ed25519):

Druecken Sie Enter, um den Standardspeicherort zu akzeptieren. Legen Sie dann eine Passphrase fest (empfohlen) oder druecken Sie Enter, um sie zu ueberspringen.

Dies erstellt zwei Dateien:

DateiWas es istTeilen?
~/.ssh/id_ed25519Privater SchluesselNiemals
~/.ssh/id_ed25519.pubOeffentlicher SchluesselJa — auf Server kopieren

Unter Windows

Option A: Windows Terminal / PowerShell

ssh-keygen -t ed25519 -C "your@email.com"

Gleicher Ablauf wie oben. Die Schluessel werden unter C:\Users\IhrName\.ssh\ gespeichert.

Option B: PuTTYgen

  1. Laden Sie PuTTY herunter
  2. Oeffnen Sie PuTTYgen
  3. Waehlen Sie EdDSA (Ed25519)
  4. Klicken Sie auf Generate und bewegen Sie die Maus
  5. Speichern Sie den privaten Schluessel (.ppk) und kopieren Sie den Text des oeffentlichen Schluessels

Warum Ed25519?

AlgorithmusSchluesselgroesseSicherheitGeschwindigkeit
RSA 40964096-BitGutLangsamer
Ed25519256-BitAusgezeichnetAm schnellsten
ECDSA256-BitGutSchnell

Ed25519 ist der moderne Standard — kuerzere Schluessel, schnellere Operationen, starke Sicherheit. Verwenden Sie es, es sei denn, Sie benoetigen RSA-Kompatibilitaet mit sehr alten Systemen.

Schritt 2: Oeffentlichen Schluessel auf den Server kopieren

Methode 1: ssh-copy-id (Am einfachsten)

ssh-copy-id root@your-server-ip

Geben Sie ein letztes Mal Ihr Passwort ein. Fertig. Das Tool haengt Ihren oeffentlichen Schluessel an ~/.ssh/authorized_keys auf dem Server an.

Methode 2: Manuelles Kopieren

Falls ssh-copy-id nicht verfuegbar ist:

cat ~/.ssh/id_ed25519.pub | ssh root@your-server-ip \
  "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Methode 3: Bei der VPS-Erstellung

Die meisten Anbieter ermoeglichen es, SSH-Schluessel beim Erstellen eines Servers hinzuzufuegen:

Dies ist der beste Ansatz — der Server ist vom ersten Start an abgesichert.

Ueberpruefen, ob es funktioniert

ssh root@your-server-ip

Sie sollten sich anmelden koennen, ohne nach einem Passwort gefragt zu werden (oder nur nach Ihrer Schluessel-Passphrase, falls Sie eine festgelegt haben).

Schritt 3: Root-Passwort-Anmeldung deaktivieren

Sobald die SSH-Key-Anmeldung funktioniert, deaktivieren Sie die Passwort-Authentifizierung vollstaendig. Dies macht Brute-Force-Angriffe unmoeglich.

SSH-Konfiguration bearbeiten

sudo nano /etc/ssh/sshd_config

Suchen und aendern Sie diese Zeilen (einige koennen mit # auskommentiert sein):

# Passwort-Authentifizierung deaktivieren
PasswordAuthentication no

# Leere Passwoerter deaktivieren
PermitEmptyPasswords no

# Challenge-Response deaktivieren (PAM)
KbdInteractiveAuthentication no

# Optional: Root-Anmeldung vollstaendig deaktivieren (stattdessen normalen Benutzer + sudo verwenden)
# PermitRootLogin no

# Wenn Sie Root-Anmeldung NUR mit Schluesseln erlauben moechten:
PermitRootLogin prohibit-password

Aenderungen anwenden

sudo systemctl restart sshd

⚠️ Warnung: Bevor Sie Ihre aktuelle Sitzung schliessen, oeffnen Sie ein neues Terminal und testen Sie, ob Sie sich noch mit Ihrem Schluessel anmelden koennen. Wenn Sie sich aussperren, benoetigen Sie Konsolenzugang ueber das Dashboard Ihres VPS-Anbieters.

Testen

Von einem anderen Computer (oder versuchen Sie explizit mit Passwort):

ssh -o PreferredAuthentications=password root@your-server-ip

Sie sollten sehen:

Permission denied (publickey).

Das bedeutet, die Passwort-Anmeldung ist deaktiviert. Nur Ihr SSH-Schluessel funktioniert jetzt.

Schritt 4: Offene Ports auf Ihrem VPS pruefen

Jeder offene Port ist eine potenzielle Angriffsflaeche. Sie sollten genau wissen, was exponiert ist.

Von innerhalb Ihres Servers pruefen

Alle lauschenden Ports auflisten:

ss -tlnp

Die Ausgabe sieht so aus:

State   Recv-Q  Send-Q  Local Address:Port  Peer Address:Port  Process
LISTEN  0       128     0.0.0.0:22          0.0.0.0:*          users:(("sshd",pid=1234))
LISTEN  0       511     0.0.0.0:80          0.0.0.0:*          users:(("nginx",pid=5678))
LISTEN  0       511     0.0.0.0:443         0.0.0.0:*          users:(("nginx",pid=5678))
LISTEN  0       128     127.0.0.1:5432      0.0.0.0:*          users:(("postgres",pid=9012))

Was jede Spalte bedeutet:

SpalteBedeutung
0.0.0.0:22Lauscht auf allen Schnittstellen (oeffentlich erreichbar)
127.0.0.1:5432Lauscht nur auf localhost (nicht oeffentlich erreichbar)
ProcessWelches Programm den Port verwendet

Wichtigste Erkenntnis: Alles auf 0.0.0.0 oder [::] ist aus dem Internet erreichbar. Alles auf 127.0.0.1 ist nur lokal.

Von ausserhalb Ihres Servers pruefen

Dies zeigt Ihnen, was das Internet tatsaechlich sieht.

Mit nmap (am gruendlichsten):

# nmap auf Ihrem lokalen Rechner installieren
# macOS: brew install nmap
# Ubuntu: sudo apt install nmap

# Gaengige Ports scannen
nmap your-server-ip

# ALLE Ports scannen (dauert laenger)
nmap -p- your-server-ip

# Scan mit Diensterkennung
nmap -sV your-server-ip

Mit netcat (schnelle Einzelport-Pruefung):

nc -zv your-server-ip 22
nc -zv your-server-ip 3306

Mit einem Online-Scanner:

Besuchen Sie shodan.io und suchen Sie nach der IP-Adresse Ihres Servers. Es zeigt alle oeffentlich erkannten Ports und Dienste — genau das, was Angreifer sehen.

Welche Ports sollten offen sein?

Fuer einen typischen Webserver:

PortDienstSollte offen sein?
22SSH✅ Ja (erwaegen Sie einen nicht-standardmaessigen Port)
80HTTP✅ Ja (leitet zu HTTPS weiter)
443HTTPS✅ Ja
3306MySQL❌ Nein — an localhost binden
5432PostgreSQL❌ Nein — an localhost binden
6379Redis❌ Nein — an localhost binden
27017MongoDB❌ Nein — an localhost binden

Faustregel: Wenn ein Dienst nicht aus dem Internet erreichbar sein muss, binden Sie ihn an 127.0.0.1.

Unnoetige Ports mit UFW schliessen

UFW (Uncomplicated Firewall) ist der einfachste Weg, den Portzugang unter Ubuntu/Debian zu verwalten:

# UFW aktivieren (SSH zuerst erlauben!)
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

# Status pruefen
sudo ufw status verbose

# Einen bestimmten Port blockieren
sudo ufw deny 3306

# Nur von bestimmter IP erlauben
sudo ufw allow from 203.0.113.50 to any port 22

⚠️ Erlauben Sie immer SSH, bevor Sie UFW aktivieren. Andernfalls sperren Sie sich selbst aus.

Bonus: Zusaetzliche SSH-Haertung

Standard-SSH-Port aendern

Das Verschieben von SSH weg von Port 22 eliminiert 99 % der automatisierten Scans:

# /etc/ssh/sshd_config
Port 2222
sudo systemctl restart sshd
sudo ufw allow 2222/tcp
sudo ufw delete allow 22/tcp

Dann verbinden Sie sich mit:

ssh -p 2222 root@your-server-ip

Eine SSH-Konfigurationsdatei einrichten

Hoeren Sie auf, lange Befehle einzutippen. Erstellen Sie ~/.ssh/config auf Ihrem lokalen Rechner:

Host myserver
    HostName 203.0.113.50
    User root
    Port 2222
    IdentityFile ~/.ssh/id_ed25519

Jetzt tippen Sie einfach:

ssh myserver

Fail2Ban aktivieren

Fail2Ban ueberwacht Logdateien und sperrt voruebergehend IPs mit zu vielen fehlgeschlagenen Anmeldeversuchen:

sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

# Gesperrte IPs pruefen
sudo fail2ban-client status sshd

Schnelle Sicherheits-Checkliste

Gehen Sie nach der Einrichtung eines neuen VPS diese Liste durch:

FAQ

Ich habe meinen SSH-Schluessel verloren. Wie komme ich wieder rein?

Verwenden Sie die Web-Konsole Ihres VPS-Anbieters (verfuegbar im Dashboard jedes Anbieters). Sie bietet direkten Terminalzugang ohne SSH. Von dort aus koennen Sie einen neuen oeffentlichen Schluessel hinzufuegen oder voruebergehend die Passwort-Authentifizierung wieder aktivieren.

Kann ich mehrere SSH-Schluessel verwenden?

Ja. Fuegen Sie jeden oeffentlichen Schluessel in einer eigenen Zeile in ~/.ssh/authorized_keys auf dem Server hinzu. Nuetzlich fuer Teamzugang oder verschiedene Geraete.

Sollte ich eine Passphrase fuer meinen Schluessel festlegen?

Ja, besonders auf gemeinsam genutzten oder tragbaren Geraeten. Es fuegt eine zweite Schutzebene hinzu — selbst wenn jemand Ihre Schluesseldatei stiehlt, kann er sie ohne die Passphrase nicht verwenden. Verwenden Sie ssh-agent, um sie nicht jedes Mal eingeben zu muessen:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

Ist das Aendern des SSH-Ports wirklich nuetzlich?

Es verbessert nicht die Sicherheit gegen gezielte Angriffe, aber es eliminiert ~99 % des automatisierten Bot-Traffics. Weniger Rauschen in Ihren Logs, weniger Ressourcenverschwendung durch fehlgeschlagene Versuche.

Wie erkenne ich, ob jemand versucht einzubrechen?

Pruefen Sie Ihr Authentifizierungsprotokoll:

# Ubuntu/Debian
sudo tail -100 /var/log/auth.log | grep "Failed password"

# CentOS/RHEL
sudo tail -100 /var/log/secure | grep "Failed password"

Wenn Sie Tausende von Eintraegen von verschiedenen IPs sehen, ist das normales Bot-Scanning. Genau deshalb deaktivieren Sie die Passwort-Authentifizierung.

Wie geht es weiter?

Nachdem SSH abgesichert ist und Sie wissen, welche Ports offen sind, haben Sie die kritischsten Angriffsvektoren abgedeckt. Fuer einen tieferen Einblick in die VPS-Sicherheit lesen Sie unseren VPS-Sicherheitsleitfaden und die WireGuard-Einrichtungsanleitung fuer verschluesselte Tunnel zwischen Servern.

Brauchen Sie einen VPS zum Ueben? Die KVM-Plaene von Hostinger beginnen bei wenigen Euro pro Monat und bieten Ihnen vollen Root-Zugang — perfekt, um Serversicherheit praktisch zu erlernen.

~/ssh-key-management-guide/get-started

Ready to get started?

Get the best VPS hosting deal today. Hostinger offers 4GB RAM VPS starting at just $4.99/mo.

Get Hostinger VPS — $4.99/mo

// up to 75% off + free domain included

// related topics

ssh key einrichten ssh schluessel erstellen root passwort ssh deaktivieren ssh key authentifizierung offene ports vps pruefen vps sicherheit anleitung

// related guides

Andrius Putna

Andrius Putna

I am Andrius Putna. Geek. Since early 2000 in love tinkering with web technologies. Now AI. Bridging business and technology to drive meaningful impact. Combining expertise in customer experience, technology, and business strategy to deliver valuable insights. Father, open-source contributor, investor, 2xIronman, MBA graduate.

// last updated: March 14, 2026. Disclosure: This article may contain affiliate links.