Ü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.