Linux Server Deployment & SSH Mastery · Lektion

Den SSH-Server absichern

Sichern Sie Ihren SSH-Server durch Bearbeiten von sshd_config: Deaktivieren Sie Root- und Passwortanmeldungen, ändern Sie riskante Standardeinstellungen, schränken Sie Nutzer ein und setzen Sie mehrschichtige Schutzmaßnahmen um, damit sich nur vertrauenswürdige Clients verbinden können.

Lektion 4 von 413 Schritte

Den SSH-Server absichern ist eine kostenlose Linux Server Deployment & SSH Mastery-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Linux Server Deployment & SSH Mastery-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Linux Server Deployment & SSH Mastery-Kurs umfasst insgesamt 4 Lektionen.

Warum SSH härten?

Ein über das Internet erreichbarer SSH-Server ist ein ständiges Ziel automatisierter Angriffe. Die Standardeinstellungen lassen mehrere Türen offen, die Bots unermüdlich untersuchen.

Härten bedeutet, die serverseitige Konfiguration zu verschärfen, sodass Angreifer selbst dann nicht per Brute-Force eindringen können, wenn sie Ihren Server finden.

Die Datei sshd_config

Das serverseitige SSH-Verhalten wird durch /etc/ssh/sshd_config gesteuert. Diese Datei unterscheidet sich von der Client-Konfiguration, die Sie zuvor eingerichtet haben (~/.ssh/config).

Bearbeiten Sie sie immer als root und erstellen Sie vor Änderungen eine Sicherungskopie.

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo nano /etc/ssh/sshd_config

Root-Anmeldung deaktivieren

Das root-Konto ist das Erste, das Angreifer ausprobieren. Wenn Sie die direkte Root-Anmeldung deaktivieren, müssen sie zusätzlich einen gültigen Benutzernamen erraten.

Setzen Sie PermitRootLogin auf no. Administratoren sollten sich als normale Benutzer anmelden und sudo verwenden.

PermitRootLogin no

Passwortauthentifizierung deaktivieren

Sobald die schlüsselbasierte Authentifizierung funktioniert, sollten Sie Passwörter vollständig deaktivieren. Dadurch werden Brute-Force-Angriffe vollständig verhindert — es gibt kein Passwort, das erraten werden kann.

Warnung: Vergewissern Sie sich vor der Anwendung dieser Einstellung, dass die Anmeldung per Schlüssel funktioniert, andernfalls könnten Sie sich aussperren.

PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yes

Festlegen, wer sich anmelden darf

Mit AllowUsers oder AllowGroups können Sie genau festlegen, welche Konten SSH verwenden dürfen. Allen nicht aufgeführten Konten wird der Zugriff selbst mit gültigen Schlüsseln verweigert.

Auf Servern mit mehreren Benutzern ist dies eine wirksame und einfach umzusetzende Kontrolle.

AllowUsers deploy admin
# or by group:
AllowGroups sshusers

Standardport ändern (optional)

Das Verlegen von SSH weg von Port 22 erhöht die Sicherheit nicht wirklich, reduziert aber das Rauschen durch automatisierte Scanner in Ihren Protokollen erheblich.

Wählen Sie einen nicht standardmäßigen Port und denken Sie daran, ihn in Ihrer Firewall zu öffnen und Ihre Clients darüber zu informieren.

Port 2222

Anmeldeversuche und Sitzungen begrenzen

Mehrere Direktiven verkleinern den Zeitraum, den Angreifer zur Verfügung haben:

  • MaxAuthTries — fehlgeschlagene Versuche vor dem Trennen der Verbindung
  • LoginGraceTime — zulässige Sekunden für die Authentifizierung
  • MaxSessions — gleichzeitige Sitzungen pro Verbindung
MaxAuthTries 3
LoginGraceTime 30
MaxSessions 2

Änderungen sicher anwenden

Überprüfen Sie nach der Bearbeitung die Syntax mit sshd -t, bevor Sie den Dienst neu starten — ein Tippfehler kann verhindern, dass der Dienst startet, und Sie aussperren.

Laden Sie den Dienst anschließend neu. Lassen Sie Ihre aktuelle Sitzung geöffnet und testen Sie eine neue Verbindung, bevor Sie sie schließen.

sudo sshd -t
sudo systemctl restart ssh

Mit Fail2ban vor Brute-Force-Angriffen schützen

Fail2ban überwacht Ihre Authentifizierungsprotokolle und sperrt IPs vorübergehend, bei denen zu viele fehlgeschlagene Anmeldeversuche festgestellt wurden. Dadurch ergänzt es die Einstellungen von sshd um eine dynamische Firewall-Ebene.

Installieren Sie es und aktivieren Sie das SSH-Jail; die Standardeinstellungen sind für die meisten Server sinnvoll.

sudo apt install fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

Ihre Absicherung überprüfen

Bestätigen Sie, dass der Server nun die von Ihnen deaktivierten Möglichkeiten ablehnt. Versuchen Sie, sich mit ausführlicher Ausgabe zu verbinden, um zu sehen, welche Authentifizierungsmethoden der Server anbietet.

Ein abgesicherter Server sollte nur publickey anbieten und Passwort- sowie Root-Anmeldungen ablehnen.

ssh -v deploy@server
# Look for: 'Authentications that can continue: publickey'

Bewährte Vorgehensweisen

Halten Sie Ihren SSH-Server dauerhaft sicher:

  • Wenden Sie PasswordAuthentication no niemals an, bevor Sie die Anmeldung per Schlüssel getestet haben
  • Lassen Sie eine Sitzung geöffnet, während Sie die Konfiguration ändern
  • Führen Sie nach jeder Änderung sshd -t aus
  • Kombinieren Sie die Absicherung von sshd mit einer Firewall und Fail2ban

Schnelltest

Testen Sie Ihr Wissen über die Absicherung von SSH.

Zusammenfassung

Sie haben Ihren SSH-Server über /etc/ssh/sshd_config abgesichert:

  • Root- und Passwortanmeldungen deaktiviert
  • Benutzer mit AllowUsers auf eine Positivliste gesetzt
  • MaxAuthTries und LoginGraceTime angepasst
  • Fail2ban für dynamischen Brute-Force-Schutz hinzugefügt

Überprüfen Sie die Konfiguration mit sshd -t und testen Sie immer, bevor Sie Ihre Sitzung schließen.

Kostenlos starten

Lerne Linux Server Deployment & SSH Mastery mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
12
Lektionen
48

Häufig gestellte Fragen

Ist die Lektion „Den SSH-Server absichern“ kostenlos?

Ja — der vollständige Text von „Den SSH-Server absichern“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Linux Server Deployment & SSH Mastery-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Linux Server Deployment & SSH Mastery-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Den SSH-Server absichern“?

Sichern Sie Ihren SSH-Server durch Bearbeiten von sshd_config: Deaktivieren Sie Root- und Passwortanmeldungen, ändern Sie riskante Standardeinstellungen, schränken Sie Nutzer ein und setzen Sie mehrs… Du übst Linux Server Deployment & SSH Mastery mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Linux Server Deployment & SSH Mastery zu starten?

Keine Vorkenntnisse erforderlich. Linux Server Deployment & SSH Mastery auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Den SSH-Server absichern“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Linux Server Deployment & SSH Mastery-Lektion Code schreiben und ausführen?

Ja. Jede Linux Server Deployment & SSH Mastery-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Das SSH-Protokoll verstehen
  2. Ihren SSH-Client konfigurieren
  3. SSH-Schlüsselauthentifizierung
  4. Den SSH-Server absichern
← Zurück zu Linux Server Deployment & SSH Mastery