KVM VPSKVM VPS

Per SSH mit dem VPS verbinden und konfigurieren

Verbinden Sie sich per SSH von Windows, macOS oder Linux mit Ihrem VPS, wechseln Sie von Passwörtern zu Schlüsseln und härten Sie die Serverkonfiguration.

SSH ist die Eingangstür eines Linux-VPS: alles wird über diese verschlüsselte Konsole verwaltet. Diese Anleitung behandelt die erste Verbindung von Windows, macOS oder Linux, den Wechsel zu Schlüsseln und die Einstellungen, die den Zugang wirklich sicher machen.

⚙️ Voraussetzungen

  • Ein Lordhosting Linux-VPS, im Panel gestartet
  • Dessen IP-Adresse und das bei Auslieferung mitgeteilte Root-Passwort
  • Ein Terminal: PowerShell, macOS-Terminal oder eine beliebige Linux-Shell

⚙️ 1. Erste Verbindung

Der Befehl ist auf allen drei Systemen identisch:

ssh [email protected]

Lauscht Ihr Server auf einem anderen Port, geben Sie ihn mit -p an:

ssh -p 2222 [email protected]

Bei der ersten Verbindung zeigt SSH den Fingerprint der Maschine und fragt nach Bestätigung. Antworten Sie yes: der Fingerprint wird gespeichert, jede späteren Änderung löst eine Warnung aus.

Der Fingerprint ändert sich nach einer Neuinstallation

Eine Systemneuinstallation erzeugt die Serverschlüssel neu, SSH verweigert dann die Verbindung. Entfernen Sie den alten Eintrag mit ssh-keygen -R 203.0.113.42 und verbinden Sie sich erneut.

⚙️ 2. Schlüsselpaar erzeugen

Auf Ihrem Rechner, nicht auf dem Server:

ssh-keygen -t ed25519 -C "arbeitsplatz"

Bestätigen Sie den vorgeschlagenen Pfad und vergeben Sie eine Passphrase: sie schützt den Schlüssel, falls Ihr Rechner kompromittiert wird. In ~/.ssh entstehen zwei Dateien:

  • id_ed25519 - der private Schlüssel, der Ihren Rechner nie verlässt
  • id_ed25519.pub - der öffentliche Schlüssel, der auf den Server gehört

⚙️ 3. Schlüssel auf dem Server einrichten

Der einfachste Weg unter Linux oder macOS:

ssh-copy-id [email protected]

Unter Windows in PowerShell:

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Prüfen Sie anschließend, dass die Verbindung ohne Passwort klappt, bevor Sie weitermachen. Dieser Schritt ist nicht optional: danach wird das Passwort abgeschaltet.

⚙️ 4. Unprivilegierten Benutzer anlegen

Dauerhaft als root zu arbeiten vervielfacht den Schaden eines Tippfehlers:

adduser alex
usermod -aG sudo alex
rsync --archive --chown=alex:alex ~/.ssh /home/alex

Die letzte Zeile kopiert Ihren Schlüssel für den neuen Benutzer. Testen Sie ssh [email protected] und dann sudo -v, bevor Sie fortfahren.

⚙️ 5. Serverkonfiguration härten

Bearbeiten Sie /etc/ssh/sshd_config:

Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
AllowUsers alex

Diese sechs Zeilen entfernen den größten Teil der Angriffsfläche: kein direktes root, keine Passwörter, ein Port außerhalb der üblichen Scans.

Öffnen Sie den neuen Port, bevor Sie SSH neu laden

Ist UFW aktiv, führen Sie sudo ufw allow 2222/tcp vor dem Neuladen des Dienstes aus - sonst wird die nächste Verbindung abgelehnt. Siehe UFW-Firewall einrichten.

Laden Sie den Dienst dann neu, ohne Ihre Sitzung zu schließen:

sudo sshd -t && sudo systemctl reload ssh

sshd -t prüft die Syntax: meldet es einen Fehler, korrigieren Sie vor dem Neuladen. Öffnen Sie ein zweites Terminal, um die neue Konfiguration zu testen; die laufende Sitzung ist Ihr Sicherheitsnetz.

⚙️ 6. Mit einer Konfigurationsdatei vereinfachen

Auf Ihrem Rechner erspart ~/.ssh/config das Wiederholen der Optionen:

Host vps
    HostName 203.0.113.42
    User alex
    Port 2222
    IdentityFile ~/.ssh/id_ed25519

Die Verbindung wird zu ssh vps. Derselbe Alias funktioniert für scp und sftp.

⚙️ 7. Häufige Fehler beheben

  • Permission denied (publickey): der öffentliche Schlüssel steht nicht in ~/.ssh/authorized_keys, oder die Rechte sind zu weit (chmod 700 ~/.ssh, chmod 600 ~/.ssh/authorized_keys).
  • Connection refused: Dienst gestoppt, falscher Port oder Firewall. Nutzen Sie die VNC-Konsole des Panels.
  • Connection timed out: falsche Adresse, oder keine Regel erlaubt den Port.
  • REMOTE HOST IDENTIFICATION HAS CHANGED: Neuinstallation oder andere Maschine. ssh-keygen -R <Adresse>.

⚙️ Fertige Konfiguration zum Kopieren

Statt die sshd_config Zeile für Zeile zu ändern, legen Sie eine Überschreibungsdatei ab: sie übersteht Paket-Updates und lässt sich mit einem einzigen rm entfernen.

# /etc/ssh/sshd_config.d/99-haertung.conf
Port 2222
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
AuthenticationMethods publickey
MaxAuthTries 3
MaxSessions 4
LoginGraceTime 20
AllowUsers alex
X11Forwarding no
AllowAgentForwarding no
PrintMotd no
ClientAliveInterval 300
ClientAliveCountMax 2

Das Skript, das diese Datei schreibt, den Port öffnet und vor dem Neuladen prüft - ersetzen Sie die zwei Variablen:

#!/usr/bin/env bash
# SSH-Härtung, einsatzbereit. Als root ausführen, ohne die Sitzung zu schließen.
set -euo pipefail

BENUTZER="alex"   # das Konto, das sich verbinden darf
SSH_PORT="2222"   # der neue Port

# Der Port muss VOR dem Neuladen des Dienstes offen sein
command -v ufw >/dev/null && ufw allow ${SSH_PORT}/tcp comment 'SSH'

cat > /etc/ssh/sshd_config.d/99-haertung.conf <<CONFIG
Port ${SSH_PORT}
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
AuthenticationMethods publickey
MaxAuthTries 3
LoginGraceTime 20
AllowUsers ${BENUTZER}
X11Forwarding no
ClientAliveInterval 300
ClientAliveCountMax 2
CONFIG

# Sicherheitsnetz: ein Syntaxfehler stoppt das Skript vor dem Neuladen
sshd -t
systemctl reload ssh
echo "Neu geladen. Testen Sie jetzt aus einem ZWEITEN Terminal:"
echo "  ssh -p ${SSH_PORT} ${BENUTZER}@\$(curl -s ifconfig.me)"

Auf Ihrem Arbeitsplatz erspart dieser Block in ~/.ssh/config das Wiederholen der Optionen bei jeder Verbindung:

Host vps
    HostName 203.0.113.42
    User alex
    Port 2222
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes
    ServerAliveInterval 60

Die Verbindung wird zu ssh vps, und scp datei vps:/tmp/ nutzt denselben Alias.

✅ Fazit

Sie verbinden sich mit einem Schlüssel, unter einem unprivilegierten Konto, mit einem Dienst, der Passwörter ablehnt. Das ist die Grundlage für alles Weitere: setzen Sie mit der vollständigen VPS-Absicherung und der UFW-Firewall fort.

Unsere Linux-VPS kommen mit Root-Zugang, einer Notfall-VNC-Konsole und freier Distributionswahl bei der Bereitstellung.

Häufig gestellte Fragen

Zurück zu KVM VPS
War dieser Artikel hilfreich?
Willkommensangebot

Registriere dich jetzt und sichere dir 10 % Rabatt auf deine erste Bestellung mit dem Gutscheincode: WILLKOMMEN

Logo LordHostingLordhosting ist eine SASU mit einem Kapital von 1 000 €. SIREN 105 383 988 RCS Paris.