Save 15% on All Hosting Services

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code: Skills Anfangen
Abschnitte
Linux Sicherheit Virtuelle Server

Verbindung und Konfiguration von SSH auf einem VPS: Der vollständige Sicherheitsleitfaden

Secure Shell (SSH) ist der Grundstein der professionellen Serververwaltung. Egal ob Sie eine WordPress-Website bereitstellen, Code über Git pushen oder benutzerdefinierte Anwendungen verwalten – SSH bietet Ihnen einen verschlüsselten, authentifizierten Tunnel direkt auf Ihren Server. Dieser umfassende Leitfaden führt Sie durch jeden Schritt – von Ihrer ersten Verbindung bis zur Härtung Ihres Setups gegen reale Angriffe – damit Sie Ihre VPS Hosting-Umgebung mit Vertrauen verwalten können.

Warum SSH-Sicherheit wichtig ist

Jeder öffentlich zugängliche Server ist einem konstanten Bombardement automatisierter Brute-Force-Versuche ausgesetzt. Innerhalb von Minuten nach dem Live-Gehen eines VPS beginnen Bots, Port 22 zu scannen und häufige Benutzername/Passwort-Kombinationen zu versuchen. Eine schlecht gesicherte SSH-Konfiguration ist einer der häufigsten Einstiegspunkte für Angreifer.

Die gute Nachricht: Ein paar bewusste Konfigurationsänderungen reduzieren Ihre Angriffsfläche dramatisch. In Kombination mit zuverlässiger Infrastruktur – wie NVMe-gestütztem Speicher und integriertem DDoS-Schutz – bietet Ihnen ein ordnungsgemäß gehärtetes SSH-Setup einen schnellen, widerstandsfähigen und wirklich sicheren Verwaltungskanal.

Falls Sie noch keine Hosting-Umgebung gewählt haben, sollten Sie VPS Hosting-Pläne in Betracht ziehen, die vollständigen Root-Zugriff, dedizierte Ressourcen und die Flexibilität zur Implementierung aller in diesem Leitfaden behandelten Sicherheitsmaßnahmen bieten.

Voraussetzungen

Bevor Sie beginnen, bestätigen Sie, dass Sie Folgendes haben:

AnforderungDetails
Ein laufender VPSJede Linux-Distribution (Ubuntu, Debian, CentOS, AlmaLinux, etc.) mit installiertem Betriebssystem
SSH-ClientLinux/macOS: integrierter ssh Befehl. Windows: PuTTY, Windows Terminal oder WSL
Server-IP-AdresseWird in Ihrem Hosting-Kontrollpanel nach der Bereitstellung bereitgestellt
AnmeldedatenStandardbenutzername (root oder ein sudo-aktivierter Benutzer) und anfängliches Passwort
Grundlegende Terminal-VertrautheitFähigkeit, Befehle auszuführen und Dateien mit nano oder vim zu bearbeiten

> Tipp: Wenn Sie mehrere Server verwalten oder eine grafische Benutzeroberfläche neben SSH benötigen, schauen Sie sich VPS-Kontrollpanels für Optionen wie cPanel, Plesk und DirectAdmin an, die den Befehlszeilenzugriff ergänzen.

Verbindung zu Ihrem VPS über SSH

Unter Linux oder macOS

Öffnen Sie Ihr Terminal und führen Sie aus:

ssh username@your_server_ip

Ersetzen Sie username durch Ihren tatsächlichen Benutzernamen (normalerweise root für einen neuen VPS) und your_server_ip durch die öffentliche IP-Adresse Ihres Servers.

Beispiel:

ssh root@203.0.113.45

Eingabeaufforderung bei der ersten Verbindung:

The authenticity of host '203.0.113.45 (203.0.113.45)' can't be established.
ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Geben Sie yes ein und drücken Sie Enter. Dies fügt den Host-Schlüssel des Servers zu Ihrer ~/.ssh/known_hosts-Datei hinzu. Bei nachfolgenden Verbindungen überprüft SSH diesen Fingerabdruck automatisch – wenn er sich jemals unerwartet ändert, behandeln Sie dies als potenziellen Sicherheitsvorfall.

Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.

Unter Windows mit PuTTY

  1. Laden Sie PuTTY von putty.org herunter und öffnen Sie es.
  2. Geben Sie im Feld Host Name (oder IP-Adresse) die IP-Adresse Ihres Servers ein.
  3. Bestätigen Sie, dass Port auf 22 und Verbindungstyp auf SSH eingestellt ist.
  4. Klicken Sie auf Öffnen.
  5. Akzeptieren Sie den Host-Schlüssel-Fingerabdruck, wenn Sie dazu aufgefordert werden.
  6. Geben Sie Ihren Benutzernamen und Ihr Passwort ein.

> Windows 10/11 Alternative: Windows Terminal und PowerShell enthalten beide einen nativen OpenSSH-Client. Sie können die gleiche ssh username@your_server_ip-Syntax wie unter Linux/macOS verwenden – keine Drittanbieter-Tools erforderlich.

SSH-Härtung: Schritt-für-Schritt-Konfiguration

Alles SSH-Verhalten wird durch eine einzelne Konfigurationsdatei gesteuert:

/etc/ssh/sshd_config

Öffnen Sie sie mit erhöhten Rechten:

sudo nano /etc/ssh/sshd_config

Arbeiten Sie jeden Härtungsschritt unten durch. Nach allen Änderungen starten Sie den Dienst einmal neu – wird im nächsten Abschnitt behandelt.

Schritt 1: Ändern Sie den Standard-SSH-Port

Port 22 ist der erste Port, den Bots scannen. Das Verschieben von SSH auf einen nicht standardmäßigen Port eliminiert die überwiegende Mehrheit des automatisierten Lärms in Ihren Protokollen.

Suchen Sie diese Zeile:

#Port 22

Ändern Sie sie auf einen Port Ihrer Wahl (verwenden Sie eine Nummer zwischen 1024 und 65535, die nicht von einem anderen Dienst verwendet wird):

Port 2222

Entfernen Sie das # um die Zeile zu kommentieren. Speichern Sie mit STRG+X, dann Y, dann Enter.

> Wichtig: Bevor Sie SSH neu starten, stellen Sie sicher, dass Ihre Firewall den neuen Port zulässt. Siehe die Firewall-Notiz unten.

Aktualisieren Sie Ihre Firewall (UFW-Beispiel):

sudo ufw allow 2222/tcp
sudo ufw deny 22/tcp
sudo ufw reload

Aktualisieren Sie Ihre Firewall (firewalld-Beispiel):

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload

Schritt 2: Deaktivieren Sie Root-Anmeldung

Das Zulassen direkter Root-Anmeldung über SSH ist ein erhebliches Sicherheitsrisiko. Melden Sie sich stattdessen als normaler Benutzer an und eskalieren Sie Berechtigungen mit sudo bei Bedarf.

In sshd_config finden Sie:

PermitRootLogin yes

Ändern Sie es zu:

PermitRootLogin no

Bevor Sie die Root-Anmeldung deaktivieren, stellen Sie sicher, dass Sie einen Nicht-Root-Benutzer mit sudo-Rechten haben:

# Create a new user
adduser adminuser

# Grant sudo privileges
usermod -aG sudo adminuser

Testen Sie, dass dieser Benutzer sich anmelden kann und sudo-Befehle ausführen kann, *bevor* Sie die Root-Anmeldung deaktivieren und SSH neu starten.

Schritt 3: Deaktivieren Sie Passwortauthentifizierung (nach Einrichtung von Schlüsseln)

Sobald SSH-Schlüsselauthentifizierung konfiguriert ist (nächster Abschnitt), deaktivieren Sie passwortbasierte Anmeldung vollständig, um das Brute-Force-Risiko zu eliminieren:

PasswordAuthentication no

Stellen Sie auch sicher, dass diese verwandten Direktiven gesetzt sind:

ChallengeResponseAuthentication no
UsePAM no

Schritt 4: Zusätzliche empfohlene Direktiven

Fügen Sie diese Einstellungen in sshd_config hinzu oder überprüfen Sie sie für eine umfassende Härtungs-Baseline:

# Limit authentication attempts per connection
MaxAuthTries 3

# Disconnect idle sessions after 5 minutes
ClientAliveInterval 300
ClientAliveCountMax 2

# Disable empty passwords
PermitEmptyPasswords no

# Restrict SSH to specific users (replace 'adminuser' with your username)
AllowUsers adminuser

# Use only strong protocol version
Protocol 2

# Disable X11 forwarding if not needed
X11Forwarding no

Einrichtung der SSH-Schlüsselauthentifizierung

SSH-Schlüsselauthentifizierung ersetzt Passwörter durch ein kryptografisches Schlüsselpaar: einen privaten Schlüssel, der auf Ihrem lokalen Computer bleibt, und einen öffentlichen Schlüssel, der auf dem Server lebt. Selbst wenn ein Angreifer Ihren Benutzernamen kennt, kann er sich ohne Ihren privaten Schlüssel nicht authentifizieren.

Schritt 1: Generieren Sie ein SSH-Schlüsselpaar (auf Ihrem lokalen Computer)

ssh-keygen -t ed25519 -C "your_email@example.com"

> Warum Ed25519? Es ist schneller und sicherer als der ältere RSA-Algorithmus. Wenn Ihr System RSA aus Kompatibilitätsgründen benötigt, verwenden Sie stattdessen ssh-keygen -t rsa -b 4096.

Sie werden aufgefordert, einen Speicherort zu wählen (Standard ~/.ssh/id_ed25519 ist in Ordnung) und eine Passphrase zu setzen. Setzen Sie immer eine Passphrase – sie verschlüsselt Ihren privaten Schlüssel, sodass physischer Zugriff auf Ihren Computer nicht automatisch Ihre Server kompromittiert.

Ausgabe:

Your identification has been saved in /home/you/.ssh/id_ed25519
Your public key has been saved in /home/you/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx your_email@example.com

Schritt 2: Kopieren Sie den öffentlichen Schlüssel auf Ihren VPS

Die einfachste Methode verwendet ssh-copy-id:

ssh-copy-id -i ~/.ssh/id_ed25519.pub username@your_server_ip

Dieser Befehl:

  1. Verbindet sich mit Ihrem Server mit Passwortauthentifizierung.
  2. Erstellt ~/.ssh/authorized_keys auf dem Server, falls es nicht existiert.
  3. Fügt Ihren öffentlichen Schlüssel an diese Datei an.
  4. Setzt automatisch die richtigen Berechtigungen.

Manuelle Methode (falls ssh-copy-id nicht verfügbar ist):

# On your local machine, display your public key
cat ~/.ssh/id_ed25519.pub

# On your server, add it manually
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "paste-your-public-key-here" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Schritt 3: Überprüfen Sie schlüsselbasierte Anmeldung, bevor Sie Passwörter deaktivieren

Deaktivieren Sie die Passwortauthentifizierung nicht, bis Sie bestätigt haben, dass die schlüsselbasierte Anmeldung funktioniert. Öffnen Sie ein neues Terminal-Fenster und testen Sie:

ssh -i ~/.ssh/id_ed25519 username@your_server_ip -p 2222

Wenn Sie sich erfolgreich anmelden, ohne nach einem Passwort gefragt zu werden (nur Ihre Schlüssel-Passphrase, falls gesetzt), fahren Sie fort, um PasswordAuthentication in sshd_config zu deaktivieren.

Neustart und Überprüfung des SSH-Dienstes

Nach dem Speichern aller Änderungen an sshd_config validieren Sie die Konfigurationssyntax vor dem Neustart:

sudo sshd -t

Wenn keine Fehler zurückgegeben werden, starten Sie den SSH-Daemon neu:

sudo systemctl restart sshd

Überprüfen Sie, dass der Dienst erfolgreich gestartet wurde:

sudo systemctl status sshd

Sie sollten Active: active (running) in der Ausgabe sehen.

> Kritischer Sicherheitstipp: Halten Sie Ihre aktuelle SSH-Sitzung offen, während Sie die neue Konfiguration in einem separaten Fenster testen. Falls etwas schiefgeht, bleibt Ihre vorhandene Sitzung aktiv und Sie können die Änderungen rückgängig machen.

Testen Ihrer sicheren Konfiguration

Test 1: Verbinden Sie sich auf dem neuen Port mit Ihrem Schlüssel

Von Ihrem lokalen Computer:

ssh username@your_server_ip -p 2222

Erwartetes Ergebnis: Sie sind angemeldet und verwenden Ihren SSH-Schlüssel (aufgefordert für Ihre Schlüssel-Passphrase, falls gesetzt, aber nicht Ihr Server-Passwort).

Test 2: Bestätigen Sie, dass Root-Anmeldung blockiert ist

ssh root@your_server_ip -p 2222

Erwartetes Ergebnis:

Permission denied (publickey).

oder

root@your_server_ip: Permission denied

Test 3: Bestätigen Sie, dass Passwortauthentifizierung deaktiviert ist

ssh username@your_server_ip -p 2222 -o PubkeyAuthentication=no

Erwartetes Ergebnis:

Permission denied (publickey).

Wenn die Passwortauthentifizierung noch aktiviert wäre, würden Sie stattdessen nach einem Passwort gefragt.

Zusätzliche Härtung: Fail2Ban

Fail2Ban überwacht Protokolldateien und sperrt automatisch IP-Adressen, die Anzeichen bösartiger Aktivität zeigen – wie wiederholte fehlgeschlagene SSH-Anmeldeversuche. Es ist eine wesentliche Ergänzung zu den oben beschriebenen SSH-Härtungsschritten.

Installieren Sie Fail2Ban

Ubuntu/Debian:

sudo apt update && sudo apt install fail2ban -y

CentOS/AlmaLinux/RHEL:

###PPT_

Sicherheit
DNS Virtuelle Server
Sicherheit Virtuelle Server

Save 15% on All Hosting Services

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code: Skills Anfangen
Schneller Zugang zu Informationen
Schneller Zugang zu Informationen

Spare deine Zeit und erhalte eine schnelle Antwort auf deine Frage

Löse Probleme selbst
Löse Probleme selbst

Die Wissensdatenbank enthält detaillierte Anleitungen, mit denen du technische Aufgaben selbst erledigen kannst.

Verbesserung der Fähigkeiten
Verbesserung der Fähigkeiten

Durch die Nutzung der Wissensdatenbank erweiterst du dein Wissen über Webhosting und verwandte Themen

Illustrationen und Diagramme
Illustrationen und Diagramme

Viele Artikel werden von Abbildungen und Diagrammen begleitet, die komplexe Prozesse und Einstellungen leichter verständlich machen.

Nützliche Tricks
Nützliche Tricks

Sie finden nützliche Tipps und Tricks, um die Leistung Ihrer Website oder Webanwendung zu verbessern.

Relevanz der vorgegebenen Themen
Relevanz der vorgegebenen Themen

Die Informationen in der Wissensdatenbank werden regelmäßig aktualisiert, um die neuesten Änderungen und Trends im Bereich der IT-Infrastruktur und des AlexHost-Service widerzuspiegeln

Du hast das Thema, nach dem du gesucht hast, nicht gefunden? Es gibt eine perfekte Lösung

Hervorragende Gäste und Kunden! Dein Komfort ist unsere Priorität! Wenn du Schwierigkeiten mit der Installation einer bestimmten Software oder der Einrichtung eines Servers hast, zögere bitte nicht, uns zu kontaktieren. Wir schätzen deine Meinung und sind immer bereit, dir bei der Lösung deiner Probleme zu helfen.

Außerdem geben wir dir die Möglichkeit, dich aktiv an der Erstellung unserer Wissensdatenbank zu beteiligen. Wenn du Themen oder Fragen hast, die du gerne in unsere Datenbank aufnehmen würdest, lass es uns wissen! Wir sind bereit, ausführliche Artikel und Anleitungen zu schreiben, die auf deine Bedürfnisse zugeschnitten sind.

Wir sind bestrebt, deine Erfahrungen mit AlexHost so bequem und effizient wie möglich zu gestalten, und dein Beitrag zur Wissensdatenbank hilft uns, dieses Ziel zu erreichen. Kontaktieren Sie uns ->
info@alexhost.com und lass uns wissen, wie wir deinen Aufenthalt bei uns noch besser machen können.

Solution Image