Startseite > Netzwerkverwaltung > ssh-server

SSH-Server (sshd): Verwaltung von Fernzugriffen

Der SSH-Server ist eine Software, die sichere Verbindungen zu entfernten Systemen über das Secure Shell (SSH)-Protokoll ermöglicht. Er läuft typischerweise als Dienst namens `sshd` (SSH Daemon) und ermöglicht über verschlüsselte Kommunikationskanäle die Ausführung von Fernbefehlen, Dateiübertragungen (SCP/SFTP) und Port-Weiterleitungen. Dies ist unerlässlich für eine Vielzahl von Fernaufgaben wie Systemadministration, Entwicklung und Datenübertragung.

Übersicht

Der SSH-Server empfängt und authentifiziert SSH-Verbindungsanfragen von Clients und stellt sichere Kommunikationssitzungen her. Dies ermöglicht die Ausführung von Befehlen oder die sichere Übertragung von Dateien aus der Ferne. Die Kernkomponente des Servers ist der `sshd`-Daemon, der normalerweise so konfiguriert ist, dass er beim Systemstart automatisch gestartet wird.

Hauptfunktionen

Dies sind die Kernfunktionen, die der SSH-Server bietet.

  • Remote-Shell-Zugriff: Verbindung zu entfernten Servern über ein verschlüsseltes Terminal zur Befehlsausführung
  • Sichere Dateiübertragung: Hoch- und Herunterladen von Dateien mit SCP (Secure Copy) und SFTP (SSH File Transfer Protocol)
  • Port-Weiterleitung: Tunneln von lokalen/entfernten Ports, um sicheren Zugriff auf unsichere Dienste zu ermöglichen
  • Schlüsselbasierte Authentifizierung: Stärkere Sicherheitsauthentifizierung durch die Verwendung von SSH-Schlüsseln anstelle von Passwörtern

Wichtige Optionen (sshd-Befehl)

Dies sind die wichtigsten Optionen, die beim direkten Ausführen des `sshd`-Daemons verwendet werden. Da er normalerweise über einen Dienstmanager wie `systemd` ausgeführt wird, sind diese Optionen hauptsächlich für das Debugging oder das Testen bestimmter Umgebungskonfigurationen nützlich.

Ausführung und Debugging

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`ssh-server` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Installation

Auf den meisten Linux-Distributionen wird der SSH-Server über das Paket `openssh-server` bereitgestellt. Wenn er standardmäßig nicht installiert ist, können Sie ihn mit den folgenden Befehlen installieren.

Debian/Ubuntu-basierte Systeme

sudo apt update
sudo apt install openssh-server

Installiert `openssh-server` mit dem APT-Paketmanager.

CentOS/RHEL-basierte Systeme

sudo yum install openssh-server
# Oder für Fedora/neuere RHEL:
sudo dnf install openssh-server

Installiert `openssh-server` mit dem YUM- oder DNF-Paketmanager.

Anwendungsbeispiele

Dies sind gängige Methoden zur Verwaltung und Konfiguration des SSH-Servers.

SSH-Dienst starten

sudo systemctl start ssh

Startet den SSH-Daemon (`sshd`)-Dienst.

SSH-Dienst neu starten

sudo systemctl restart ssh

Startet den SSH-Daemon-Dienst neu. Wird häufig nach Änderungen an der Konfigurationsdatei verwendet, um diese zu übernehmen.

SSH-Dienststatus prüfen

sudo systemctl status ssh

Überprüft den aktuellen Status des SSH-Daemon-Dienstes.

SSH-Dienst für automatischen Start aktivieren

sudo systemctl enable ssh

Konfiguriert den SSH-Dienst so, dass er beim Systemstart automatisch gestartet wird.

SSH-Port in der Firewall öffnen (UFW)

sudo ufw allow ssh
# Oder wenn Sie einen bestimmten Port verwenden:
sudo ufw allow 2222/tcp

Wenn Sie UFW (Uncomplicated Firewall) verwenden, erlauben Sie den Standard-SSH-Port (22).

SSH-Konfigurationsdatei bearbeiten

sudo nano /etc/ssh/sshd_config

Bearbeitet die Hauptkonfigurationsdatei des SSH-Servers, `sshd_config`. Nach Änderungen muss der SSH-Dienst unbedingt neu gestartet werden.

Tipps & Hinweise

Dies sind wichtige Tipps und Hinweise für den sicheren und effizienten Betrieb des SSH-Servers.

Tipps zur Erhöhung der Sicherheit

Dies sind empfohlene Vorgehensweisen zur Erhöhung der Sicherheit Ihres SSH-Servers.

  • **Standardport ändern**: Ändern Sie den Standard-SSH-Port (22) auf einen anderen, weniger bekannten Port (z. B. 2222), um zufällige Angriffsversuche zu reduzieren. (Bearbeiten Sie die `Port`-Direktive in der Datei `/etc/ssh/sshd_config`)
  • **Schlüsselbasierte Authentifizierung anstelle von Passwörtern verwenden**: Erstellen Sie ein SSH-Schlüsselpaar, um eine deutlich stärkere Sicherheit als die passwortbasierte Authentifizierung zu gewährleisten. (Einstellung `PasswordAuthentication no`)
  • **Root-Login deaktivieren**: Verbieten Sie den direkten SSH-Zugriff für das `root`-Konto und verwenden Sie stattdessen ein normales Benutzerkonto mit `sudo`. (Einstellung `PermitRootLogin no`)
  • **Fail2Ban verwenden**: Installieren Sie Tools wie `Fail2Ban`, die IP-Adressen nach wiederholten fehlgeschlagenen Anmeldeversuchen automatisch blockieren, um Brute-Force-Angriffe abzuwehren.
  • **Zulässige Benutzer/Gruppen einschränken**: Geben Sie explizit die Benutzer oder Gruppen an, denen der SSH-Zugriff erlaubt ist, indem Sie die Direktiven `AllowUsers` oder `AllowGroups` verwenden.

file Pfad zur SSH-Konfigurationsdatei

/etc/ssh/sshd_config

Die Hauptkonfigurationsdatei des SSH-Servers befindet sich am folgenden Pfad.


Gleiche Kategorie Befehle