Mit SSH steuerst du deinen Server bequem vom Laptop aus. Statt eines Passworts nutzt du am besten ein Schlüsselpaar: einen privaten Schlüssel, der nur auf deinem Laptop liegt, und einen öffentlichen Schlüssel, den der Server kennt. Das ist sicherer als jedes Passwort – und du musst nichts mehr eintippen.

Du brauchst:

  • einen Linux-Server, auf dem du dich per Passwort anmelden kannst (z. B. Debian)
  • ein Terminal: unter Windows die PowerShell, unter macOS und Linux das Terminal – SSH ist überall schon vorinstalliert
  • ca. 15 Minuten

Die Beispiele verwenden den Benutzer max und den Server 192.168.50.30.

Schritt 1: Schlüsselpaar erzeugen (auf dem Laptop)

ssh-keygen -t ed25519 -C "laptop"
  • Speicherort mit Enter bestätigen
  • Eine Passphrase vergeben: Sie schützt den Schlüssel, falls dein Laptop verloren geht. Moderne Systeme merken sie sich, sodass du sie selten eintippen musst.

Es entstehen zwei Dateien im Ordner .ssh deines Benutzerverzeichnisses:

Datei Bedeutung
id_ed25519 privater Schlüssel – niemals weitergeben
id_ed25519.pub öffentlicher Schlüssel – der kommt auf den Server

Schritt 2: Öffentlichen Schlüssel auf den Server übertragen

macOS und Linux:

ssh-copy-id max@192.168.50.30

Windows (PowerShell) – dort gibt es ssh-copy-id nicht, dieser Befehl macht dasselbe:

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh max@192.168.50.30 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Du wirst ein letztes Mal nach dem Server-Passwort gefragt.

Schritt 3: Testen

ssh max@192.168.50.30

Kommst du ohne Server-Passwort rein (höchstens die Passphrase deines Schlüssels wird abgefragt), hat alles geklappt.

Schritt 4: Kurznamen einrichten

Statt jedes Mal Benutzer und IP zu tippen, legst du auf dem Laptop die Datei .ssh/config an (unter Windows C:\Users\DEINNAME\.ssh\config, ohne Dateiendung):

Host docker
    HostName 192.168.50.30
    User max

Ab jetzt reicht:

ssh docker

Schritt 5: Passwort-Anmeldung abschalten (auf dem Server)

Jetzt, wo der Schlüssel funktioniert, verbieten wir Anmeldungen per Passwort – damit laufen alle Passwort-Rateversuche ins Leere.

sudo nano /etc/ssh/sshd_config.d/10-nur-schluessel.conf

Inhalt:

PasswordAuthentication no
PermitRootLogin no

Speichern (Strg+O, Enter, Strg+X), Konfiguration prüfen und SSH neu laden:

sudo sshd -t
sudo systemctl reload ssh

Wichtig: Das aktuelle SSH-Fenster offen lassen und in einem zweiten Fenster testen, ob die Anmeldung per Schlüssel weiterhin klappt. Erst dann das erste Fenster schließen. So sperrst du dich nie aus.

Mehrere Geräte?

Jedes Gerät (Laptop, Desktop, Handy-App) bekommt ein eigenes Schlüsselpaar. Die öffentlichen Schlüssel stehen untereinander in ~/.ssh/authorized_keys auf dem Server. Geht ein Gerät verloren, löschst du einfach dessen Zeile.

Wenn es nicht klappt

  • Es wird trotzdem nach dem Passwort gefragt: Rechte prüfen – ~/.ssh muss 700, authorized_keys muss 600 haben (chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys).
  • "Permission denied (publickey)": Stimmt der Benutzername? Liegt der richtige öffentliche Schlüssel in authorized_keys?
  • Ausgesperrt: In Proxmox über die Console der VM anmelden und die Datei aus Schritt 5 wieder löschen.