SSH Server: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „'''ls /etc/ssh#''' moduli sshd_config.d ssh_host_ed25519_key.pub ssh_config ssh_host_ecdsa_key ssh_host_rsa_key ssh_config.d ssh_host_e…“)
 
Zeile 1: Zeile 1:
'''ls /etc/ssh#'''
+
= SSH-Server =
  moduli       sshd_config.d       ssh_host_ed25519_key.pub
+
 
  ssh_config   ssh_host_ecdsa_key     ssh_host_rsa_key
+
Der SSH-Server ermöglicht es, eingehende SSH-Verbindungen entgegenzunehmen. Unter Debian/Ubuntu läuft er als Systemdienst und wird über <code>systemctl</code> verwaltet.
  ssh_config.d ssh_host_ecdsa_key.pub ssh_host_rsa_key.pub
+
 
  sshd_config   ssh_host_ed25519_key
+
== Pakete ==
 +
 
 +
;SSH besteht aus dem Metapaket
 +
* <code>ssh</code>
 +
 
 +
;Dieses beinhaltet die Pakete
 +
* <code>openssh-client</code> – der SSH-Client (für ausgehende Verbindungen)
 +
* <code>openssh-server</code> – der SSH-Daemon (für eingehende Verbindungen)
 +
* <code>openssh-sftp-server</code> – SFTP-Subsystem für Dateiübertragungen
 +
 
 +
Installation:
 +
apt install ssh
 +
 
 +
== Dienstverwaltung ==
 +
 
 +
Der SSH-Server läuft als '''Systemdienst''' und wird über <code>systemctl</code> verwaltet.
 +
Für Logs wird <code>journalctl</code> verwendet.
 +
 
 +
=== Starten / Stoppen ===
 +
 
 +
systemctl start ssh      # Dienst starten
 +
systemctl stop ssh       # Dienst stoppen
 +
systemctl restart ssh    # Dienst neu starten (z. B. nach Konfigurationsänderung)
 +
 
 +
'''Hinweis:''' <code>restart</code> trennt alle aktiven SSH-Verbindungen sofort.
 +
Wer eingeloggte Sitzungen nicht unterbrechen will, verwendet stattdessen:
 +
systemctl reload ssh    # Konfiguration neu laden ohne Verbindungen zu trennen
 +
 
 +
=== Autostart beim Systemstart ===
 +
 
 +
systemctl enable ssh    # SSH automatisch beim Booten starten
 +
systemctl disable ssh    # Autostart deaktivieren
 +
 
 +
=== Status prüfen ===
 +
 
 +
systemctl status ssh
 +
 
 +
Zeigt ob der Dienst läuft, seit wann, die PID und die letzten Logzeilen.
 +
 
 +
=== Logs verfolgen ===
 +
 
 +
journalctl -fu ssh
 +
 
 +
* <code>-f</code> – folgt dem Log in Echtzeit (wie <code>tail -f</code>)
 +
* <code>-u ssh</code> – filtert nur auf den SSH-Dienst
 +
 
 +
Nützlich zum Debuggen von fehlgeschlagenen Verbindungsversuchen oder Konfigurationsfehlern.
 +
 
 +
Nur die letzten 50 Zeilen anzeigen:
 +
journalctl -u ssh -n 50
 +
 
 +
Logs eines bestimmten Zeitraums:
 +
journalctl -u ssh --since "2025-04-01 00:00" --until "2025-04-01 23:59"
 +
 
 +
== Konfigurationsverzeichnis ==
 +
 
 +
ls /etc/ssh
 +
 
 +
  moduli               sshd_config.d           ssh_host_ed25519_key.pub
 +
  ssh_config           ssh_host_ecdsa_key       ssh_host_rsa_key
 +
  ssh_config.d         ssh_host_ecdsa_key.pub   ssh_host_rsa_key.pub
 +
  sshd_config         ssh_host_ed25519_key
 +
 
 +
{| class="wikitable"
 +
! Datei/Verzeichnis !! Bedeutung
 +
|-
 +
| <code>sshd_config</code> || Hauptkonfiguration des SSH-Servers
 +
|-
 +
| <code>sshd_config.d/</code> || Optionale Drop-in-Konfigurationen (werden von sshd_config eingelesen)
 +
|-
 +
| <code>ssh_config</code> || Systemweite Client-Konfiguration (gilt für alle Nutzer)
 +
|-
 +
| <code>ssh_config.d/</code> || Drop-ins für die systemweite Client-Konfiguration
 +
|-
 +
| <code>moduli</code> || Parameter für den Diffie-Hellman-Schlüsselaustausch
 +
|-
 +
| <code>ssh_host_*_key</code> || Private Host Keys des Servers ('''niemals weitergeben''')
 +
|-
 +
| <code>ssh_host_*_key.pub</code> || Öffentliche Host Keys (werden dem Client beim Verbindungsaufbau gezeigt)
 +
|}
 +
 
 +
== Siehe auch ==
 +
 
 +
* [[SSH-Verbindungsaufbau]] – Wie eine SSH-Verbindung aufgebaut wird
 +
* [[SSH-Config]] – Client-seitige Konfiguration (~/.ssh/config)
 +
* [[sshd_config]] – Serverkonfiguration im Detail
 +
 
 +
[[Kategorie:SSH]]
 +
[[Kategorie:Netzwerk]]
 +
[[Kategorie:Systemdienste]]

Version vom 11. April 2026, 14:34 Uhr

SSH-Server

Der SSH-Server ermöglicht es, eingehende SSH-Verbindungen entgegenzunehmen. Unter Debian/Ubuntu läuft er als Systemdienst und wird über systemctl verwaltet.

Pakete

SSH besteht aus dem Metapaket
  • ssh
Dieses beinhaltet die Pakete
  • openssh-client – der SSH-Client (für ausgehende Verbindungen)
  • openssh-server – der SSH-Daemon (für eingehende Verbindungen)
  • openssh-sftp-server – SFTP-Subsystem für Dateiübertragungen

Installation:

apt install ssh

Dienstverwaltung

Der SSH-Server läuft als Systemdienst und wird über systemctl verwaltet. Für Logs wird journalctl verwendet.

Starten / Stoppen

systemctl start ssh      # Dienst starten
systemctl stop ssh       # Dienst stoppen
systemctl restart ssh    # Dienst neu starten (z. B. nach Konfigurationsänderung)

Hinweis: restart trennt alle aktiven SSH-Verbindungen sofort. Wer eingeloggte Sitzungen nicht unterbrechen will, verwendet stattdessen:

systemctl reload ssh     # Konfiguration neu laden ohne Verbindungen zu trennen

Autostart beim Systemstart

systemctl enable ssh     # SSH automatisch beim Booten starten
systemctl disable ssh    # Autostart deaktivieren

Status prüfen

systemctl status ssh

Zeigt ob der Dienst läuft, seit wann, die PID und die letzten Logzeilen.

Logs verfolgen

journalctl -fu ssh
  • -f – folgt dem Log in Echtzeit (wie tail -f)
  • -u ssh – filtert nur auf den SSH-Dienst

Nützlich zum Debuggen von fehlgeschlagenen Verbindungsversuchen oder Konfigurationsfehlern.

Nur die letzten 50 Zeilen anzeigen:

journalctl -u ssh -n 50

Logs eines bestimmten Zeitraums:

journalctl -u ssh --since "2025-04-01 00:00" --until "2025-04-01 23:59"

Konfigurationsverzeichnis

ls /etc/ssh
moduli               sshd_config.d            ssh_host_ed25519_key.pub
ssh_config           ssh_host_ecdsa_key        ssh_host_rsa_key
ssh_config.d         ssh_host_ecdsa_key.pub    ssh_host_rsa_key.pub
sshd_config          ssh_host_ed25519_key
Datei/Verzeichnis Bedeutung
sshd_config Hauptkonfiguration des SSH-Servers
sshd_config.d/ Optionale Drop-in-Konfigurationen (werden von sshd_config eingelesen)
ssh_config Systemweite Client-Konfiguration (gilt für alle Nutzer)
ssh_config.d/ Drop-ins für die systemweite Client-Konfiguration
moduli Parameter für den Diffie-Hellman-Schlüsselaustausch
ssh_host_*_key Private Host Keys des Servers (niemals weitergeben)
ssh_host_*_key.pub Öffentliche Host Keys (werden dem Client beim Verbindungsaufbau gezeigt)

Siehe auch