keep it simple. Thomas Langer · IT Service
  • Über uns
  • BackupWatch ★
  • Blog
  • Services
  • Kontakt
← Zurück zum Blog

Blog

Login via Public / Private Key auf Linux Server

5. Juli 2025


Worum geht es

Der Login mit Benutzername und Passwort ist anfällig für Brute-Force-Angriffe und gehört zu den häufigsten Einfallstoren auf Linux-Servern, die im Internet erreichbar sind. Sicherer und im Alltag bequemer ist die Anmeldung mit einem Schlüsselpaar (Public/Private Key): Der öffentliche Schlüssel liegt auf dem Server, der private Schlüssel bleibt auf deinem Rechner.

Diese Anleitung führt durch die komplette Einrichtung — vom Anlegen des Benutzers bis zur abgesicherten sshd_config.

Voraussetzungen

  • Linux-Server (Debian/Ubuntu) mit Root- oder sudo-Zugang
  • Lokaler Rechner mit OpenSSH-Client
  • Ein SSH-Schlüsselpaar (siehe Vorbereitung unten, falls noch keines vorhanden)

Vorbereitung — SSH-Schlüsselpaar erzeugen

Nur ausführen, falls auf dem lokalen Rechner noch kein Schlüsselpaar existiert:

ssh-keygen -t ed25519 -C "deine-email@example.com"

Die Schlüssel liegen anschließend in ~/.ssh/id_ed25519 (privat) und ~/.ssh/id_ed25519.pub (öffentlich).

Schritt 1 — Benutzer auf dem Server anlegen

Auf dem Server als root ausführen:

apt update && apt install sudo
adduser <username>
usermod -aG sudo <username>

Damit existiert ein nicht-privilegierter Benutzer, der bei Bedarf per sudo Administrator-Rechte erhält.

Schritt 2 — Public Key auf den Server kopieren

Vom lokalen Rechner aus:

ssh-copy-id -i ~/.ssh/id_ed25519.pub <username>@SERVER-IP

ssh-copy-id hängt den öffentlichen Schlüssel auf dem Server an die Datei ~/.ssh/authorized_keys an — mit den korrekten Berechtigungen.

Schritt 3 — Key-Login testen

Vom lokalen Rechner einloggen. Ohne Passwort-Eingabe sollte es funktionieren:

ssh <username>@SERVER-IP

Wird trotzdem ein Passwort verlangt, hilft die explizite Angabe des Schlüssels:

ssh -i ~/.ssh/id_ed25519 <username>@SERVER-IP

Klappt es auch dann nicht, sind meist die Datei-Rechte auf dem Server zu offen:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Wichtig: Erst weiter zu Schritt 4, wenn der Key-Login aus Schritt 3 zuverlässig funktioniert. Sonst sperrst du dich vom Server aus.

Schritt 4 — SSH-Server härten

Konfiguration öffnen:

sudo nano /etc/ssh/sshd_config

Folgende Werte setzen oder ändern (eventuelle Doppeleinträge entfernen):

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no

Konfiguration übernehmen:

sudo systemctl restart sshd
Tipp: Die aktuelle SSH-Sitzung offen halten, bis in einem zweiten Fenster ein neuer Login bestätigt wurde. Schlägt der neue Login fehl, kannst du in der noch offenen Sitzung sofort zurückrudern.

Ergebnis

Ab sofort sind nur noch Logins mit gültigem Schlüssel möglich. Passwort-basierte Anmeldungen und Root-Logins über SSH sind deaktiviert — ein deutlicher Gewinn an Sicherheit ohne Komfort-Einbußen.

keep it simple. Thomas Langer · IT Service
  • Impressum
  • Datenschutzerklärung
© 2008–2026 keep it simple.