SSH-Server (sshd) konfigurieren und absichern mit Beispielen

watch 3m, 31s
views 2

09:18, 25.05.2026

Artikel Inhalt
arrow

  • Wie Konfigurationsdateien zusammenwirken
  • Typische Einstellungen für die private SSH-Nutzung
  • Gängige Anpassungen der SSH-Konfiguration für Unternehmen
  • Einstellungen zur Verschlüsselungsrichtlinie
  • Detaillierte Protokollierung aktivieren
  • Festlegen des Pfads für AuthorizedKeysFile
  • Steuerung des Root-Zugriffs
  • Anzeigen eines Login-Banners
  • Verwalten der Port-Forwarding-Einstellungen
  • Verwendung der zertifikatsbasierten Authentifizierung
  • Erläuterung der Syntax und Struktur von sshd_config

Secure Shell (SSH) ist ein Eckpfeiler der Fernverwaltung von Servern. Seine Serverkomponente, sshd, bietet leistungsstarke Konfigurationsoptionen sowohl für Gelegenheitsnutzer als auch für Unternehmensadministratoren. Dieser Leitfaden führt Sie durch die Konfiguration und Absicherung von sshd und enthält praktische Beispiele, die Ihnen helfen, bewährte Verfahren zu verstehen und umzusetzen.

Wie Konfigurationsdateien zusammenwirken

Die primäre Konfigurationsdatei für den SSH-Daemon ist /etc/ssh/sshd_config. Diese Datei legt fest, wie sich der Server verhält, wenn er SSH-Verbindungen akzeptiert.

Im Gegensatz dazu befinden sich die Client-Einstellungen in /etc/ssh/ssh_config oder in der Datei ~/.ssh/config des Benutzers. In sshd_config steuern Administratoren jedoch Authentifizierungsmethoden, Zugriffsregeln und das Sitzungsverhalten.

Wenn der SSH-Daemon startet oder neu geladen wird, liest er sshd_config von oben nach unten. Wenn eine Anweisung wiederholt wird, greift in der Regel die letzte gültige Instanz. Führen Sie nach dem Vornehmen von Änderungen Folgendes aus:

sudo systemctl restart sshd

Oder auf einigen Systemen:

sudo service ssh restart

So testen Sie die Konfiguration vor dem Neustart:

sshd -t

Typische Einstellungen für die private SSH-Nutzung

Wenn Sie einen privaten VPS oder ein Heimlabor verwalten, können Sie die Sicherheit und den Komfort mit ein paar einfachen Anpassungen verbessern:

Port 2222 
PermitRootLogin no 
PasswordAuthentication no 
AllowUsers alice

Diese Einstellungen ändern den Standard-SSH-Port, deaktivieren Root-Anmeldungen, erfordern eine schlüsselbasierte Authentifizierung und beschränken den Zugriff auf bestimmte Benutzer. Sichern Sie immer die Originaldatei, bevor Sie Änderungen vornehmen.

Gängige Anpassungen der SSH-Konfiguration für Unternehmen

In Unternehmensumgebungen muss die SSH-Konfiguration ein Gleichgewicht zwischen Benutzerfreundlichkeit, Compliance und Sicherheit herstellen. Nachfolgend finden Sie wichtige Einstellungen, die Unternehmen häufig in der sshd_config anpassen.

Einstellungen zur Verschlüsselungsrichtlinie

Legen Sie starke, moderne Verschlüsselungsalgorithmen fest, um Daten während der Übertragung zu schützen. Verwenden Sie die Ciphers, MACs und KexAlgorithms -Direktiven:

Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com 
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com 
KexAlgorithms curve25519-sha256,ecdh-sha2-nistp521

Diese Einstellungen entfernen veraltete Algorithmen und setzen kryptografische Best Practices durch.

Detaillierte Protokollierung aktivieren

Erhöhen Sie für Audit- und Debugging-Zwecke die Protokollierungsausführlichkeit:

LogLevel VERBOSE

Dies liefert detailliertere Informationen über Benutzeraktivitäten und Authentifizierungsversuche, was für die Sicherheitsüberwachung nützlich ist.

Festlegen des Pfads für AuthorizedKeysFile

Um zu zentralisieren oder anzupassen, wo öffentliche Schlüssel gelesen werden:

AuthorizedKeysFile /etc/ssh/authorized_keys/%u

In diesem Beispiel wird der öffentliche Schlüssel jedes Benutzers in einem gemeinsamen Verzeichnis gespeichert, wobei %u durch den Benutzernamen ersetzt wird.

Steuerung des Root-Zugriffs

Die Root-Anmeldung sollte streng kontrolliert oder vollständig deaktiviert werden:

PermitRootLogin prohibit-password

Dies erlaubt die Root-Anmeldung nur über eine schlüsselbasierte Authentifizierung. Um den Root-Zugriff vollständig zu deaktivieren:

PermitRootLogin no

Anzeigen eines Login-Banners

Um Compliance-Standards zu erfüllen oder einen rechtlichen Hinweis anzuzeigen, konfigurieren Sie ein Login-Banner:

Banner /etc/issue.net

Füllen Sie /etc/issue.net mit der gewünschten Meldung, z. B.:

Unbefugter Zugriff auf dieses System ist verboten. 
Alle Aktivitäten werden überwacht und protokolliert.

Verwalten der Port-Forwarding-Einstellungen

Schränken Sie Port-Forwarding je nach internen Richtlinien ein oder aktivieren Sie es:

AllowTcpForwarding no 
PermitTunnel no 
X11Forwarding no

Für Benutzer, die sicheres Tunneling benötigen, können diese Funktionen selektiv aktiviert werden.

Verwendung der zertifikatsbasierten Authentifizierung

Für Umgebungen mit einer großen Anzahl von Benutzern bieten SSH-Zertifikate eine skalierbare Zugriffskontrolle. Erstellen Sie einen CA-Schlüssel und signieren Sie die öffentlichen Schlüssel der Benutzer:

ssh-keygen -s ca_key -I user_id user_key.pub
Geben Sie in sshd_config die vertrauenswürdige CA an:
TrustedUserCAKeys /etc/ssh/ca.pub

Dadurch können sich alle von der angegebenen CA signierten Schlüssel authentifizieren, was die Benutzerverwaltung vereinfacht.

Erläuterung der Syntax und Struktur von sshd_config

Die Syntax von sshd_config ist einfach: eine Anweisung pro Zeile, gefolgt von ihrem Wert bzw. ihren Werten. Kommentare beginnen mit #. 

# Dies ist ein Kommentar 
Port 22 
PermitRootLogin no

Bei Direktiven wird die Groß-/Kleinschreibung nicht berücksichtigt, sie sollten jedoch der üblichen Formatierung folgen, um die Lesbarkeit zu gewährleisten. Häufige Fehler sind:

  • Abschließende Leerzeichen
  • Ungültige Parameterwerte
  • Wiederholung widersprüchlicher Anweisungen

So übernehmen Sie Änderungen:

sudo systemctl reload sshd

Oder verwenden Sie sshd -t vor dem Neustart, um sicherzustellen, dass die Syntax gültig ist.

Teilen

War dieser Artikel für Sie hilfreich?

VPS beliebte Angebote

-7.1%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB HDD
Bandwidth
Bandwidth
Unlimited
wKVM-HDD 4096 Windows

21 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
wKVM-SSD 8192 Windows

28.44 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
4 Epyc Cores
RAM
RAM
4 GB
Space
Space
50 GB NVMe
Bandwidth
Bandwidth
Unlimited
Keitaro KVM 4096
OS
CentOS
Software
Software
Keitaro

18.1 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
50 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 4096 Linux

15.95 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
50 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-KVM-SSD 4096 Linux

60.5 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
40 GB HDD
Bandwidth
Bandwidth
Unlimited
KVM-HDD 1024 Linux

6.1 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
4 Epyc Cores
RAM
RAM
4 GB
Space
Space
50 GB NVMe
Bandwidth
Bandwidth
Unlimited
aiKVM-NVMe 4096 Linux

16.84 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
3 Epyc Cores
RAM
RAM
2 GB
Space
Space
20 GB NVMe
Bandwidth
Bandwidth
Unlimited
KVM-NVMe 2048 Linux

8.8 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
30 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 2048 Linux

8.3 /mo

/mo

Alle 12 Monate abgerechnet

-10%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
200 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 8192 Linux

20.66 /mo

/mo

Alle 12 Monate abgerechnet

Weitere Artikel zu diesem Thema

cookie

Cookies und Datenschutz akzeptieren?

Wir verwenden Cookies, um sicherzustellen, dass wir Ihnen die beste Erfahrung auf unserer Website bieten. Wenn Sie fortfahren, ohne Ihre Einstellungen zu ändern, gehen wir davon aus, dass Sie mit dem Empfang aller Cookies auf der HostZealot-Website einverstanden sind.