Übersicht
sshd läuft im Hintergrund und wartet standardmäßig auf Verbindungen von SSH-Clients über TCP-Port 22. Die gesamte Kommunikation ist verschlüsselt, um die Sicherheit zu gewährleisten, und unterstützt verschiedene Authentifizierungsmethoden (Passwort, öffentlicher Schlüssel usw.).
Hauptfunktionen
- Bereitstellung eines sicheren Remote-Shell-Zugangs
- Unterstützung für Dateiübertragungen über SCP/SFTP
- Port-Weiterleitungs- und Tunneling-Funktionen
- Unterstützung verschiedener Authentifizierungsmechanismen (Passwort, öffentlicher Schlüssel)
Standard-Konfigurationsdatei
Das Verhalten von sshd wird hauptsächlich über die folgende Konfigurationsdatei gesteuert.
- Pfad: /etc/ssh/sshd_config
Wichtige Optionen
sshd wird normalerweise als Systemdienst ausgeführt, sodass Sie selten direkte Befehlszeilenoptionen verwenden müssen. Es gibt jedoch einige Optionen, die für Debugging- oder Testzwecke nützlich sein können.
Ausführung und Debugging
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`sshd` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
sshd wird hauptsächlich über Dienstmanager wie systemd gesteuert.
Status des sshd-Dienstes prüfen
sudo systemctl status sshd
Überprüft den aktuellen Status des sshd-Dienstes.
sshd-Dienst neu starten
sudo systemctl restart sshd
Startet den sshd-Dienst neu, um Änderungen nach der Konfigurationsänderung anzuwenden.
sshd-Dienst aktivieren (automatischer Start beim Booten)
sudo systemctl enable sshd
Konfiguriert den sshd-Dienst so, dass er beim Systemstart automatisch gestartet wird.
Gültigkeit der sshd-Konfigurationsdatei prüfen
sudo sshd -t
Überprüft, ob die sshd_config-Datei syntaktische Fehler enthält.
sshd im Debug-Modus ausführen (zum Testen)
sudo sshd -d -p 2222
Führt sshd im Debug-Modus auf einem anderen Port (z. B. 2222) als dem Standardport aus. Nützlich zum Testen, ohne den Live-Dienst zu beeinträchtigen.
Installation
sshd ist Teil des OpenSSH-Server-Pakets. Es ist auf den meisten Linux-Distributionen standardmäßig installiert. Wenn nicht, können Sie es mit den folgenden Befehlen installieren.
Debian/Ubuntu-basierte Systeme
sudo apt update
sudo apt install openssh-server
CentOS/RHEL/Fedora-basierte Systeme
sudo yum install openssh-server # oder sudo dnf install openssh-server
Tipps & Hinweise
sshd spielt eine sehr wichtige Rolle für die Systemsicherheit. Es wird empfohlen, bei der Konfiguration die folgenden Punkte zu berücksichtigen.
Tipps zur Erhöhung der Sicherheit
- **Standardport ändern**: Ändern Sie `Port 22` in eine andere zufällige hohe Portnummer, um Brute-Force-Angriffe zu reduzieren.
- **Root-Login deaktivieren**: Setzen Sie `PermitRootLogin no`, um direkte Anmeldungen als Root-Benutzer zu verbieten.
- **Passwortauthentifizierung deaktivieren und öffentliche Schlüsselauthentifizierung verwenden**: Setzen Sie `PasswordAuthentication no` und verwenden Sie die öffentliche Schlüsselauthentifizierung (`PubkeyAuthentication yes`) zur Erhöhung der Sicherheit.
- **Zulässige Benutzer einschränken**: Verwenden Sie die Optionen `AllowUsers` oder `AllowGroups`, um explizit Benutzer oder Gruppen anzugeben, denen SSH-Zugriff gestattet ist.
- **Firewall konfigurieren**: Konfigurieren Sie die Firewall (ufw, firewalld usw.), sodass nur der SSH-Port (Standard 22 oder der geänderte Port) von außen zugänglich ist.
Dienst nach Konfigurationsänderung neu starten
Nachdem Sie die Datei `sshd_config` geändert haben, müssen Sie den Dienst unbedingt mit dem Befehl `sudo systemctl restart sshd` neu starten, damit die Änderungen wirksam werden.
Verbindung testen
Testen Sie nach Konfigurationsänderungen unbedingt die SSH-Verbindung von einem anderen Terminal aus, um sicherzustellen, dass die Änderungen korrekt angewendet wurden. Es wird empfohlen, dies zu tun, während Ihre aktuelle Sitzung noch aktiv ist.