SSH-Konfiguration unter Linux

SSH-Konfiguration unter Linux: Ein Administratoren-Tutorial

SSH (Secure Shell) ist eines der wichtigsten Tools für Linux-Administratoren, um sichere, verschlüsselte Verbindungen zu Remote-Servern herzustellen. In diesem Tutorial werde ich die grundlegenden Schritte zur Konfiguration von SSH unter Linux erklären, einschließlich der Installation, Konfiguration und Sicherung des SSH-Dienstes.

1. Installation von SSH

Die meisten Linux-Distributionen kommen mit OpenSSH, dem weit verbreiteten SSH-Server und -Client, vorinstalliert. Falls es noch nicht installiert ist, können Sie es mit den folgenden Befehlen installieren:

  • Debian/Ubuntu:
sudo apt update
sudo apt install openssh-server

CentOS/RHEL:

sudo yum install openssh-server

Fedora:

sudo dnf install openssh-server

Nach der Installation sollten Sie den SSH-Dienst starten und so einstellen, dass er beim Booten automatisch gestartet wird:

sudo systemctl start sshd
sudo systemctl enable sshd

2. Grundlegende SSH-Konfiguration

Die Hauptkonfigurationsdatei für den SSH-Dienst befindet sich unter /etc/ssh/sshd_config. Öffnen Sie diese Datei mit Ihrem bevorzugten Texteditor, z. B. nano oder vim:

sudo nano /etc/ssh/sshd_config

Hier sind einige wichtige Konfigurationsoptionen, die Sie beachten sollten:

  • Port ändern: Der Standard-SSH-Port ist 22. Aus Sicherheitsgründen empfiehlt es sich, diesen auf einen weniger bekannten Port zu ändern:
Port 2222

Root-Login deaktivieren: Um die Sicherheit zu erhöhen, sollten Sie den direkten Root-Zugriff über SSH deaktivieren:

PermitRootLogin no

Maximale Anmeldeversuche: Begrenzen Sie die Anzahl der Anmeldeversuche, um Brute-Force-Angriffe zu erschweren:

MaxAuthTries 3

SSH-Schlüssel-Authentifizierung aktivieren: Die Verwendung von SSH-Schlüsseln anstelle von Passwörtern bietet eine wesentlich höhere Sicherheit. Um dies sicherzustellen, stellen Sie sicher, dass die folgenden Parameter korrekt gesetzt sind:

PubkeyAuthentication yes
PasswordAuthentication no

Nachdem Sie die Konfiguration geändert haben, speichern Sie die Datei und starten Sie den SSH-Dienst neu, um die Änderungen anzuwenden:

sudo systemctl restart sshd

3. SSH-Schlüssel-Paar erstellen

Anstatt Passwörter zu verwenden, können Sie sich mit einem SSH-Schlüssel authentifizieren, der sicherer ist.

  1. Erstellen Sie ein Schlüsselpaar auf Ihrem lokalen Rechner:
ssh-keygen -t rsa -b 4096 -C "Ihr_E-Mail-Adresse"

Übertragen Sie den öffentlichen Schlüssel auf den Remote-Server:

ssh-copy-id -i ~/.ssh/id_rsa.pub benutzername@remote_server

Testen Sie die Anmeldung mit Ihrem Schlüssel:

ssh -i ~/.ssh/id_rsa benutzername@remote_server

4. Erweiterte Sicherheit

  • Fail2Ban installieren: Fail2Ban überwacht die Authentifizierungsprotokolle und blockiert IP-Adressen, die verdächtige Aktivitäten zeigen.Installation und Konfiguration von Fail2Ban auf Debian/Ubuntu:
sudo apt install fail2ban

Starten Sie den Dienst und aktivieren Sie ihn beim Booten:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban
  • Zwei-Faktor-Authentifizierung (2FA): Sie können die Zwei-Faktor-Authentifizierung über Google Authenticator oder ähnliche Dienste einrichten, um die Sicherheit weiter zu erhöhen.

5. Tipps zur Fehlersuche

  • Verbindungsprobleme: Überprüfen Sie, ob der SSH-Dienst läuft und ob die Firewall den richtigen Port freigibt:
sudo systemctl status sshd
sudo ufw allow 2222/tcp

Log-Dateien prüfen: Bei Problemen hilft ein Blick in die Log-Dateien:

sudo tail -f /var/log/auth.log

Fazit

Die Konfiguration von SSH ist eine wesentliche Aufgabe für jeden Linux-Administrator. Indem Sie die oben beschriebenen Schritte befolgen, können Sie sicherstellen, dass Ihre SSH-Verbindungen sicher und zuverlässig sind. Durch das Deaktivieren von Root-Logins, die Verwendung von SSH-Schlüsseln und das Einrichten zusätzlicher Sicherheitsmaßnahmen wie Fail2Ban oder 2FA erhöhen Sie die Sicherheit Ihres Systems erheblich.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert