0Pricing
Cyber Security Academy · Lektion

SSH-Härtung und schlüsselbasierte Authentifizierung

Deaktivieren Sie die Passwortauthentifizierung, konfigurieren Sie Schlüsselpaaren, beschränken Sie den Zugriff mit AllowUsers und verwenden Sie fail2ban.

SSH-Härtung und schlüsselbasierte Authentifizierung ist eine kostenlose Cyber Security Academy-Lektion auf CoddyKit. Dies ist Lektion 3 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 Cyber Security Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.

Warum SSH-Sicherheit wichtig ist

SSH ist das wichtigste Protokoll zur Fernverwaltung von Linux-Servern. Ein falsch konfigurierter SSH-Server gehört zu den häufigsten Einstiegspunkten für Angreifer — er ist dem Internet ausgesetzt und wird ständig von Brute-Force-Bots angegriffen.

Ein SSH-Schlüsselpaar generieren

Schlüsselbasierte Authentifizierung ist sicherer als Passwörter. Generieren Sie ein Schlüsselpaar:

ssh-keygen -t ed25519 -C "your_email"
# Creates ~/.ssh/id_ed25519 (private) and id_ed25519.pub (public)
# Never share the private key

Öffentliche Schlüssel installieren

Kopieren Sie Ihren öffentlichen Schlüssel auf den Server:

ssh-copy-id user@server
# Or manually:
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys

Passwortauthentifizierung deaktivieren

Sobald die schlüsselbasierte Authentifizierung funktioniert, deaktivieren Sie die Anmeldung per Passwort, um das Brute-Force-Risiko zu beseitigen:

# In /etc/ssh/sshd_config:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
sudo systemctl restart sshd

Den standardmäßigen SSH-Port ändern

Das Verlegen von SSH weg von Port 22 reduziert den Lärm durch automatisierte Scans. Es handelt sich um Security through Obscurity — keinen echten Schutz, aber es reduziert die Menge an Protokolleinträgen. Aktualisieren Sie stets die Firewall-Regeln entsprechend.

# /etc/ssh/sshd_config
Port 2222
# Then update firewall:
ufw allow 2222/tcp
ufw delete allow 22/tcp

SSH-Zugriff nach Benutzer/IP beschränken

Beschränken Sie, welche Benutzer sich per SSH anmelden dürfen und von wo aus:

# /etc/ssh/sshd_config
AllowUsers alice bob
AllowGroups sshusers
# Or restrict by source IP in /etc/hosts.allow:
sshd: 192.168.1.0/24

SSH-Timeouts und Anmeldebeschränkungen

Reduzieren Sie die Angriffsfläche durch Sitzungs- und Anmeldeversuchsbeschränkungen:

# /etc/ssh/sshd_config
ClientAliveInterval 300    # disconnect idle sessions after 5 min
ClientAliveCountMax 2
MaxAuthTries 3             # max password attempts
LoginGraceTime 30          # seconds to authenticate

fail2ban verwenden

fail2ban überwacht Protokolldateien und sperrt IPs, die bösartige Muster zeigen (z. B. zu viele fehlgeschlagene SSH-Anmeldungen). Das Programm aktualisiert die Firewall-Regeln dynamisch, um Angreifer zu blockieren.

apt install fail2ban
# /etc/fail2ban/jail.local:
[sshd]
enabled = true
maxretry = 3
bantime = 3600

SSH-Agent und Agent-Weiterleitung

Der SSH-Agent speichert Ihren entschlüsselten privaten Schlüssel im Speicher, damit Sie die Passphrase nicht bei jeder Anmeldung erneut eingeben müssen. Die Agent-Weiterleitung (ssh -A) leitet Ihren Schlüssel über Zwischenstationen weiter — verwenden Sie sie mit Bedacht, da ein kompromittierter Zwischenserver Ihren Schlüssel über den Agent-Socket stehlen könnte.

Zwei-Faktor-Authentifizierung für SSH

Fügen Sie SSH mit dem PAM-Modul von Google Authenticator TOTP hinzu, um auch bei schlüsselbasierter Authentifizierung zusätzlichen Schutz zu bieten. Für die Anmeldung sind sowohl der Schlüssel als auch ein zeitbasiertes OTP erforderlich.

SSH-Konfiguration überprüfen

Überprüfen Sie Ihre SSH-Konfiguration mit:

sshd -T | grep -E "passwordauth|permitroot|pubkeyauth|port"
# Check who is connected:
ss -tnp | grep :22
who

Kurztest: SSH-Härtung

Welche Einstellung in sshd_config sollte auf no gesetzt werden, um Brute-Force-Passwortangriffe gegen SSH zu verhindern?

Zusammenfassung der Lektion

SSH-Härtung: Verwenden Sie Ed25519-Schlüssel, deaktivieren Sie die Passwortauthentifizierung, deaktivieren Sie die Root-Anmeldung, ändern Sie den Port 22, beschränken Sie AllowUsers, setzen Sie Leerlauf-Timeouts und installieren Sie fail2ban. Geben Sie private Schlüssel niemals weiter. Prüfen Sie mit sshd -T. Die Agent-Weiterleitung ist praktisch, aber auf nicht vertrauenswürdigen Hosts riskant.

Häufig gestellte Fragen

Ist die Lektion „SSH-Härtung und schlüsselbasierte Authentifizierung“ kostenlos?

Ja — der vollständige Text von „SSH-Härtung und schlüsselbasierte Authentifizierung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cyber Security Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „SSH-Härtung und schlüsselbasierte Authentifizierung“?

Deaktivieren Sie die Passwortauthentifizierung, konfigurieren Sie Schlüsselpaaren, beschränken Sie den Zugriff mit AllowUsers und verwenden Sie fail2ban. Du übst Cyber Security Academy 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 Cyber Security Academy zu starten?

Keine Vorkenntnisse erforderlich. Cyber Security Academy 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 3 von 4.

Wie lange dauert die Lektion „SSH-Härtung und schlüsselbasierte Authentifizierung“?

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 Cyber Security Academy-Lektion Code schreiben und ausführen?

Ja. Jede Cyber Security Academy-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. Dateiberechtigungen und Eigentümerschaft
  2. Benutzer- und Gruppenverwaltung
  3. SSH-Härtung und schlüsselbasierte Authentifizierung
  4. iptables- und UFW-Firewallregeln
← Zurück zu Cyber Security Academy