Provided by: manpages-de_4.27.0-1_all bug

BEZEICHNUNG

       sshd — OpenSSH-Daemon

ÜBERSICHT

       sshd   [-46DdeGiqTtV]   [-C   Verbindungsfestlegung]  [-c  Rechnerzertifikatsdatei]  [-E  Protokolldatei]
       [-f Konfigurationsdatei] [-g  Anmeldeaufschubzeit]  [-h  Rechnerschlüsseldatei]  [-o  Option]  [-p  Port]
       [-u Länge]

BESCHREIBUNG

       sshd  (OpenSSH  Daemon)  ist  das  Daemon-Programm  für  ssh(1).  Es  stellt  eine sichere verschlüsselte
       Kommunikation zwischen zwei nicht vertrauenswürdigen Rechnern über ein unsicheres Netzwerk bereit.

       sshd wartet auf Anfragen von Clients. Es wird  normalerweise  beim  Systemstart  mittels  /etc/init.d/ssh
       gestartet.  Es  erstellt  mit  Fork einen neuen Deamon für jede Verbindung. Der mit Fork erstellte Daemon
       handhabt den Schlüsselaustausch, die Verschlüsselung, Authentifizierung, die  Befehlsausführung  und  den
       Datenaustausch.

       sshd  kann  mittels  Befehlszeilenoptionen  oder einer Konfigurationsdatei (standardmäßig sshd_config(5))
       konfiguriert werden; Befehlszeilenoptionen setzen die in der Konfigurationsdatei  gesetzten  Werte  außer
       Kraft.  sshd  liest  seine Konfigurationsdatei neu, wenn er ein Auflegen-Signal, SIGHUP, erhält, indem er
       sich selbst mit dem Namen und den Optionen ausführt, mit denen er gestartet wurde, z.B. /usr/sbin/sshd.

       Folgende Optionen stehen zur Verfügung:

       -4      Erzwingt, dass sshd nur IPv4-Adressen verwendet.

       -6      Erzwingt, dass sshd nur IPv6-Adressen verwendet.

       -C Verbindungsfestlegung
               Legt die Verbindungsparameter fest, die für den erweiterten Testmodus -T verwandt werden  sollen.
               Falls  bereitgestellt,  werden  alle  Direktiven  Match in der Konfigurationsdatei, die angewandt
               würden, angewandt, bevor die Konfigurationsdatei auf die Standardausgabe  geschrieben  wird.  Die
               Verbindungsparameter  werden als Schlüsselwort=Wert-Paare bereitgestellt und können in beliebiger
               Reihenfolge angegeben werden, entweder mit  mehreren  -C  -Optionen  oder  als  Kommata-getrennte
               Liste.  Die  Schlüsselwörter  sind  »addr«,  »user«,  »host«,  »laddr«, »lport« und »rdomain« und
               entsprechen der Quelladresse,  dem  Benutzer,  dem  aufgelösten  Quellrechnernamen,  der  lokalen
               Adresse,  der lokalen Port-Nummer bzw. der Routing-Domain. Zusätzlich kann der Schalter »invalid-
               user« angegeben werden (der kein Wert-Argument akzeptiert), um eine Verbindung  von  einem  nicht
               erkannten Benutzernamen zu simuliert.

       -c Rechnerzertifikatsdatei
               Legt  den  Pfad  zu  einer  Zertifikatsdatei  fest,  um  sshd während des Schlüsselaustausches zu
               identifizieren. Die Zertifikatsdatei muss auf eine  Rechnerschlüsseldatei  passen,  die  mit  der
               Option -h oder der Konfigurationsdirektive HostKey festgelegt wird.

       -D      Wenn  diese  Option  angegeben  ist,  wird sich sshd nicht abtrennen und kein Daemon werden. Dies
               erlaubt das einfache Überwachen von sshd.

       -d      Fehlersuchmodus. Der Server schickt ausführliche Fehlersuchausgaben auf die Standardfehlerausgabe
               und legt sich selbst nicht in den Hintergrund. Der Server wird auch kein fork(2) durchführen  und
               nur  eine Verbindung verarbeiten. Diese Option ist nur zur Fehlersuche im Server gedacht. Mehrere
               Optionen -d erhöhen die Fehlersuchstufe. Maximum ist 3.

       -E Protokolldatei
               Hängt Fehlersuchprotokolle an Protokolldatei statt an das Systemprotokoll an.

       -e      Schreibt Fehlersuchprotokolle in die Standardfehlerausgabe statt in das Systemprotokoll.

       -f Konfigurationsdatei
               Gibt den Namen der Konfigurationsdatei an. Die Vorgabe ist /etc/ssh/sshd_config. sshd  verweigert
               den Start, falls es keine Konfigurationsdatei gibt.

       -G      Konfigurationsdatei  auswerten  und  ausgeben. Prüft die Gültigkeit der Konfigurationsdatei, gibt
               die wirksame Konfiguration auf der Standardausgabe aus und  beendet  sich.  Optional  können  die
               Match  -Regeln  angewandt  werden,  indem  die  Verbindungsparameter  mittels  einer oder mehrere
               Optionen -C angegeben werden.

       -g Anmeldeaufschubzeit
               Gibt die Aufschubzeit  an,  die  Clients  für  die  Authentifizierung  haben  (standardmäßig  120
               Sekunden).  Falls  es  dem  Client  nicht  gelingt,  sich  innerhalb  der angegebenen Sekunden zu
               authentifizieren, löst der Server die Verbindung und beendet sich. Ein Wert von 0 zeigt an,  dass
               es keine Begrenzung geben soll.

       -h Rechnerschlüsseldatei
               Gibt  eine  Datei  an,  aus  der  der  Rechnerschlüssel gelesen wird. Diese Option muss angegeben
               werden, falls sshd nicht als  root  ausgeführt  wird  (da  die  normalen  Rechnerschlüsseldateien
               normalerweise   nur   von   root  lesbar  sind).  Die  Vorgabe  ist  /etc/ssh/ssh_host_ecdsa_key,
               /etc/ssh/ssh_host_ed25519_key und /etc/ssh/ssh_host_rsa_key. Es ist möglich,  für  die  einzelnen
               Rechnerschlüsselalgorithmen jeweils mehrere Rechnerschlüsseldateien zu haben.

       -i      Gibt an, dass sshd von inetd(8) ausgeführt wird.

       -o Option
               Kann  dazu  verwandt  werden,  Optionen im Format der Konfigurationsdatei anzugeben. Dies ist für
               Optionen nützlich, für die es keinen separaten Befehlszeilenschalter gibt. Für die  vollständigen
               Details dieser Optionen und ihrer Werte siehe sshd_config(5).

       -p Port
               Legt  den  Port  fest,  auf  dem der Server auf Anfragen wartet (standardmäßig 22). Mehrere Port-
               Optionen sind erlaubt. In der Konfiguration mittels der  Option  Port  festgelegte  Ports  werden
               ignoriert,  wenn  ein  Port  auf  der  Befehlszeile  angegeben  wird.  Ports,  die mit der Option
               ListenAddress festgelegt werden, setzen auf der Befehlszeile angegebene außer Kraft.

       -q      Stiller Modus. Es wird nichts an das Systemprotokoll gesandt. Normalerweise wird der Beginn,  die
               Authentifizierung und die Beendigung jeder Verbindung protokolliert.

       -T      Erweiterter   Testmodus.   Prüft  die  Gültigkeit  der  Konfigurationsdatei,  gibt  die  wirksame
               Konfiguration auf der Standardausgabe aus und beendet sich. Optional  können  die  Match  -Regeln
               angewandt werden, indem die Verbindungsparameter mittels einer oder mehrere Optionen -C angegeben
               werden.  Dies ist ähnlich zum Schalter -G, schließt aber die durch den Schalter -t durchgeführten
               zusätzlichen Tests ein.

       -t      Testmodus. Prüft nur die Gültigkeit der Konfigurationsdatei und die Plausibilität der  Schlüssel.
               Dies  ist  zur  zuverlässigen  Aktualisierung  von  sshd nützlich, da sich Konfigurationsoptionen
               ändern könnten.

       -u Länge
               Diese Option wird dazu verwandt, die Größe des Feldes in der Struktur utmp festzulegen,  die  den
               Namen  des  fernen  Rechners  enthält.  Falls  der  aufgelöste  Rechnername  die angegebene Länge
               überschreitet, wird stattdessen der gepunktete Dezimalwert verwandt. Dies erlaubt es, Rechner mit
               sehr langen Rechnernamen, bei denen dieser Wert überläuft, weiterhin eindeutig zu identifizieren.
               Die Festlegung von -u0 zeigt an, dass nur gepunktete Dezimaladressen in die Datei  utmp  abgelegt
               werden  sollen.  -u0 kann auch dazu verwandt werden, sshd an der Durchführung von DNS-Anfragen zu
               hindern,  außer  der  Authentifizierungsmechanismus  oder  die   Konfiguration   verlangt   dies.
               HostbasedAuthentication   und  die  Verwendung  der  Option  from="Musterliste"  gehören  zu  den
               Authentifizierungsmechanismen, die DNS benötigen. Die Verwendung  eines  BENUTZER@RECHNER-Musters
               in AllowUsers oder DenyUsers gehört zu den Konfigurationsoptionen, die DNS benötigen.

       -V      Zeigt die Version an und beendet das Programm.

AUTHENTIFIZIERUNG

       Der  OpenSSH-SSH-Daemon  unterstützt  nur  SSH-Protokoll  2.  Jeder  Rechner  verfügt über einen Rechner-
       spezifischen Schlüssel, der diesen Rechner identifiziert. Jedes Mal,  wenn  sich  ein  Client  verbindet,
       antwortet der Daemon mit seinem öffentlichen Rechnerschlüssel. Der Client vergleicht den Rechnerschlüssel
       mit  seiner  eigenen  Datenbank,  um sicherzustellen, dass er sich nicht geändert hat. Durch eine Diffie-
       Hellman-Schlüsselvereinbarung wird Vorwärtssicherheit bereitgestellt. Diese  Schlüsselvereinbarung  führt
       zu einem gemeinsam benutzten Sitzungsschlüssel. Der Rest der Sitzung wird mit einer symmetrischen Chiffre
       verschlüsselt.  Der  Client wählt aus den vom Server angebotenen Chiffren den Verschlüsselungsalgorithmus
       aus.     Zusätzlich     wird     die     Sitzungsintegrität     mittels      eines      kryptographischen
       Nachrichtenauthentifizierungscodes (MAC) bereitgestellt.

       Schließlich  treten der Server und der Client in einen Authentifizierungsdialog. Der Client versucht sich
       selbst   mittels   Rechner-basierter,   asymmetrischer,   challenge-response   oder    Passwort-basierter
       Authentifizierung zu authentifizieren.

       Unabhängig  vom Authentifizierungstyp wird das Konto geprüft, um sicherzustellen, dass es zugreifbar ist.
       Ein Konto ist nicht zugreifbar, falls es gesperrt, in  DenyUsers  oder  seine  Gruppe  in  in  DenyGroups
       aufgeführt  ist. Die Definition eines gesperrten Kontos ist systemabhängig. Einige Plattformen haben ihre
       eigene Kontendatenbank (z.B. AIX) und andere ändern das Passwd-Feld (›*LK*‹ auf Solaris und UnixWare, ›*‹
       auf HP-UX, enthält ›NOLOGIN‹ auf Tru64, ein ›LOCKED‹ am Anfang auf FreeBSD und ein ›!‹ am Anfang bei  den
       meisten Linuxen). Falls die Notwendigkeit besteht, Passwort-basierende Authentifizierung zu deaktivieren,
       aber weiterhin asymmetrische Authentifizierung zu erlauben, dann sollte das Passwd-Feld auf etwas anderes
       als diese Werte gesetzt werden (z.B. ›NP‹ oder ›*NP*‹).

       Falls sich der Client erfolgreich authentifiziert, wird ein Dialog zur Vorbereitung der Sitzung begonnen.
       Zu  diesem  Zeitpunkt  kann  der  Client  Dinge wie die Zuweisung eines Pseudo-TTY, die Weiterleitung von
       X11-Verbindungen, die Weiterleitung von  TCP-Verbindungen  oder  die  Weiterleitung  der  Verbindung  des
       Authentifizierungsvermittlers über den sicheren Kanal erbitten.

       Danach  erbittet  der  Client entweder eine interaktive Shell oder die Ausführung eines nichtinteraktiven
       Befehls, den sshd mittels der Shell des Benutzers über die Option -c ausführt. Beide Seiten  treten  dann
       in  den  Sitzungsmodus  ein.  In diesem Modus kann jede Seite zu jeder Zeit Daten senden, und diese Daten
       werden dann an die Shell oder den Befehl auf der Server-Seite  und  dem  Terminal  auf  der  Client-Seite
       weitergeleitet (oder kommen von dort).

       Wenn  sich  das  Benutzerprogramm  beendet  und  alle  weitergeleiteten  X11-  und  anderen  Verbindungen
       geschlossen wurden, sendet der Server den Exit-Status an den Client und beide Seiten beenden sich.

ANMELDEPROZESS

       Wenn sich ein Benutzer erfolgreich anmeldet, macht sshd Folgendes:

             1.   Falls die Anmeldung auf einem TTY erfolgt und kein Befehl angegeben  wurde,  wird  die  letzte
                  Anmeldezeit  und  /etc/motd  ausgegeben (außer dies wird in der Konfigurationsdatei oder durch
                  ~/.hushlogin verhindert, siehe den Abschnitt “DATEIEN”).

             2.   Falls die Anmeldung auf einem TTY erfolgt, wird die Anmeldezeit aufgezeichnet.

             3.   /etc/nologin wird überprüft; falls es existiert, wird der Inhalt ausgegeben und die Verbindung
                  beendet (außer bei root).

             4.   Die Ausführung wird auf normale Benutzerprivilegien umgeschaltet.

             5.   Eine grundlegende Umgebung wird eingerichtet.

             6.   Die Datei ~/.ssh/environment, falls sie existiert, wird  eingelesen  und  Benutzern  wird  das
                  Ändern ihrer Umgebung erlaubt. Siehe die Option PermitUserEnvironment in sshd_config(5).

             7.   Es wird in das Home-Verzeichnis des Benutzers gewechselt.

             8.   Falls die Datei ~/.ssh/rc existiert und die Option PermitUserRC in sshd_config(5) gesetzt ist,
                  wird  die  Datei  ausgeführt, ansonsten falls /etc/ssh/sshrc existiert, wird diese ausgeführt,
                  andernfalls     wird     xauth(1)     ausgeführt.     Den      »rc«-Dateien      wird      das
                  X11-Authentifizierungsprotokoll  und  den  Cookie  auf  der  Standardeingabe  übergeben. Siehe
                  nachfolgenden Abschnitt “SSHRC”.

             9.   Die Shell des Benutzers oder der  Befehl  wird  ausgeführt.  Alle  Befehle  werden  unter  der
                  Anmelde-Shell  des  Benutzers  ausgeführt, wie diese in der Systempasswortdatenbank festgelegt
                  ist.

SSHRC

       Falls die Datei ~/.ssh/rc existiert, führt sh(1) sie nach dem Einlesen der Umgebungsvariablen,  aber  vor
       dem  Starten der Shell des Benutzers oder des Befehls aus. Sie darf keine Ausgabe auf der Standardausgabe
       erstellen, stattdessen muss Stderr verwandt werden. Falls X11-Weiterleitung in Benutzung  ist,  wird  sie
       das  »proto  cookie«-Paar in seiner Standardeingabe (und DISPLAY in seiner Umgebung) erhalten. Das Skript
       muss xauth(1) aufrufen, da sshd Xauth nicht automatisch aufrufen wird, um X11-Cookies hinzuzufügen.

       Der Hauptzweck dieser Datei besteht darin, sämtliche Initialisierungsroutinen auszuführen,  die  benötigt
       werden,  um auf das Home-Verzeichnis des Benutzers zuzugreifen; AFS ist ein besonderes Beispiel für solch
       eine Umgebung.

       Diese Datei wird wahrscheinlich einigen Initialisierungs-Code enthalten, dem etwas ähnlicher Art folgt:

          if read proto cookie && [ -n "$DISPLAY" ]; then
                  if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then
                          # X11UseLocalhost=yes
                          echo add unix:`echo $DISPLAY |
                              cut -c11-` $proto $cookie
                  else
                          # X11UseLocalhost=no
                          echo add $DISPLAY $proto $cookie
                  fi | xauth -q -
          fi

       Falls diese Datei nicht existiert, wird /etc/ssh/sshrc  ausgeführt  und  falls  auch  diese  Datei  nicht
       existiert, wird Xauth verwandt, um den Cookie hinzuzufügen.

AUTHORIZED_KEYS-DATEIFORMAT

       AuthorizedKeysFile   legt   die   Dateien   fest,   die   öffentliche  Schlüssel  für  die  asymmetrische
       Authentifizierung   enthalten.   Falls   diese   Option   nicht   festgelegt   ist,   ist   die   Vorgabe
       ~/.ssh/authorized_keys  und  ~/.ssh/authorized_keys2. Jede Zeile der Datei enthält einen Schlüssel (leere
       Zeilen und Zeilen, die mit einem ‘#’ beginnen, werden als Kommentare  ignoriert).  Öffentliche  Schlüssel
       bestehen   aus   den   folgenden,   durch   Leerzeichen   getrennten   Feldern:  Optionen,  Schlüsseltyp,
       Base64-kodierter Schlüssel, Kommentar. Das Optionenfeld ist optional.  Die  unterstützten  Schlüsseltypen
       sind:

             sk-ecdsa-sha2-nistp256@openssh.com
             ecdsa-sha2-nistp256
             ecdsa-sha2-nistp384
             ecdsa-sha2-nistp521
             sk-ssh-ed25519@openssh.com
             ssh-ed25519
             ssh-rsa

       Das  Kommentarfeld wird für nichts verwandt (kann aber für den Benutzer zur Identifikation des Schlüssels
       nützlich sein).

       Beachten Sie, dass diese Zeilen in diesen Dateien mehrere hundert Byte lang  sein  können  (aufgrund  der
       Größe  der  Kodierung  des  öffentlichen  Schlüssels),  bis  zu einer Grenze von 8 Kilobyte, wodurch RSA-
       Schlüssel bis zu 16 Kilobit erlaubt sind. Normalerweise geben Sie diese nicht ein, sondern  kopieren  die
       Datei  id_ecdsa.pub,  id_ecdsa_sk.pub,  id_ed25519.pub,  id_ed25519_sk.pub oder id_rsa.pub und bearbeiten
       sie.

       sshd erzwingt eine minimale RSA-Schlüssel-Modulogröße von 1024 Bit.

       Falls Optionen vorhanden sind, werden diese  durch  Kommata  getrennt  angegeben.  Leerzeichen  sind  nur
       innerhalb doppelter englischer Anführungszeichen erlaubt. Die folgenden Optionsangaben werden unterstützt
       (beachten Sie, dass bei Optionsschlüsselwörtern die Groß-/Kleinschreibung egal ist):

       agent-forwarding
               Aktiviert den Weiterleitungsvermittler, der vorher mit der Option restrict deaktiviert war.

       cert-authority
               Legt fest, dass der aufgeführte Schlüssel eine Zertifizierungsstelle (CA) ist, der vertraut wird,
               um signierte Zertifikate zur Benutzerauthentifizierung zu validieren.

               Zertifikate  können  Zugangsbeschränkungen  festlegen,  ähnlich  wie bei Schlüsseloptionen. Falls
               sowohl  Zertifikatsbeschränkungen  als  auch   Schlüsseloptionen   vorhanden   sind,   wird   die
               restriktivste Vereinigung beider angewandt.

       command="Befehl"
               Legt  fest,  dass  der  Befehl  immer  bei  der  Verwendung  des Schlüssels zur Authentifizierung
               ausgeführt wird.  Der  durch  den  Benutzer  bereitgestellte  Schlüssel  (falls  vorhanden)  wird
               ignoriert.  Der  Befehl  wird  auf  einem  PTY  ausgeführt,  falls  der Client ein PTY anfordert;
               andernfalls läuft er ohne ein TTY. Falls ein 8-Bit-fähiger Kanal benötigt  wird,  darf  kein  PTY
               angefordert  werden oder es muss no-pty festgelegt werden. Um ein englisches Anführungszeichen in
               dem Befehl aufzuführen, stellen Sie ihm einen Rückwärtsschrägstrich voran.

               Diese Option kann zur Einschränkung bestimmter  öffentlicher  Schlüssel  verwandt  werden,  damit
               diese  nur  eine  bestimmte  Aktion  ausführen.  Beispielsweise  einen  Schlüssel,  der nur ferne
               Datensicherungen erlaubt, aber  nichts  sonst.  Beachten  Sie,  dass  der  Client  TCP-  und/oder
               X11-Weiterleitung  festlegen  darf,  außer dies wird explizit verboten, z.B. durch Verwendung der
               Schlüsseloption restrict.

               Der  vom  Client  bereitgestellte  Befehl  ist  in  der  Umgebungsvariablen  SSH_ORIGINAL_COMMAND
               verfügbar.  Beachten  Sie,  dass  diese Option für eine Shell-, Befehls- oder Subsystemausführung
               gilt. Beachten Sie auch, dass dieser Befehl durch eine Direktive ForceCommand  in  sshd_config(5)
               ersetzt werden kann.

               Falls  ein  Befehl  festgelegt  ist  und ein Erzwingungsbefehl in einem für die Authentifizierung
               verwandten Zertifikat eingebettet ist, dann wird dieses Zertifikat nur akzeptiert, falls die zwei
               Befehle identisch sind.

       environment="NAME=Wert"
               Legt fest, dass die Zeichenkette zu der  Umgebung  beim  Protokollieren  hinzugefügt  wird,  wenn
               dieser  Schlüssel  verwandt  wird.  Auf  diese  Art  gesetzte  Umgebungsvariablen  setzen  andere
               Vorgabeumgebungswerte außer Kraft. Mehrere Optionen dieser Art sind  erlaubt.  Standardmäßig  ist
               die  Verarbeitung  der  Umgebung  deaktiviert  und  wird mittels der Option PermitUserEnvironment
               gesteuert.

       expiry-time="Zeitangabe"
               Legt eine Zeit fest, nach der der Schlüssel nicht  akzeptiert  wird.  Die  Zeit  kann  als  Datum
               YYYYMMDD[Z]  oder eine Zeit YYYYMMDDHHMM[SS][Z] festgelegt werden. Daten und Zeiten werden in der
               Zeitzone des Systems interpretiert, außer es wird ein »Z«-Zeichen angehängt, dann werden  sie  in
               der UTC-Zeitzone interpretiert.

       from="Musterliste"
               Legt  fest, dass zusätzlich zur asymmetrischen Authentifizierung entweder der kanonische Name des
               fernen Rechners oder seine IP-Adresse in der Kommata-getrennten Liste der Muster  vorhanden  sein
               muss. Siehe MUSTER in ssh_config(5) für weitere Informationen über Muster.

               Zusätzlich  zum  Platzhaltervergleich,  der für Rechnernamen oder Adressen angewandt werden kann,
               kann ein from -Abschnitt auf IP-Adressen mit der CIDR address/masklen-Notation passen.

               Der Zweck dieser  Option  besteht  darin,  optional  die  Sicherheit  zu  erhöhen:  asymmetrische
               Authentifizierung an sich vertraut dem Netzwerk oder den Name-Servern oder irgendetwas (außer dem
               Schlüssel) nicht. Falls allerdings jemand den Schlüssel klaut, ermöglicht er es dem Eindringling,
               sich  von  überall  aus der Welt anzumelden. Diese zusätzliche Option erschwert den Einsatz eines
               gestohlenen Schlüssels (es müssten Name-Server und/oder Router zusätzlich kompromittiert  werden,
               nicht nur der Schlüssel).

       no-agent-forwarding
               Verbietet  die  Vermittlerweiterleitung  der  Authentifizierung,  wenn  dieser  Schlüssel für die
               Authentifizierung verwandt wird.

       no-port-forwarding
               Verbietet die TCP-Weiterleitung, wenn dieser Schlüssel für die Authentifizierung  verwandt  wird.
               Jede  Port-Weiterleitungsanfrage  durch  den  Client  wird  einen Fehler zurückliefern. Dies kann
               beispielsweise bei Verbindungen mit der Option command verwandt werden.

       no-pty  Verhindert TTY-Zuweisung (eine Anfrage, ein PTY zuzuweisen, wird fehlschlagen).

       no-user-rc
               Deaktiviert die Ausführung von ~/.ssh/rc.

       no-X11-forwarding
               Verbietet X11-Weiterleitung, wenn dieser Schlüssel  zur  Authentifizierung  verwandt  wird.  Jede
               X11-Weiterleitungsanfrage vom Client wird einen Fehler zurückliefern.

       permitlisten="[Rechner:]Port"
               Schränkt  ferne  Port-Weiterleitung  mit  der  Option  -R  von ssh(1) ein, so dass es nur auf dem
               festgelegten Rechner  (optional)  und  Port  auf  Anfragen  wartet.  IPv6-Adressen  können  durch
               Einschluss der Adresse in eckige Klammern festgelegt werden. Mehrere Optionen permitlisten können
               durch  Kommata  getrennt angewandt werden. Rechnernamen können Platzhalter enthalten, wie dies im
               Abschnitt MUSTER in ssh_config(5) beschrieben ist. Eine Port-Festlegung * passt auf  jeden  Port.
               Beachten  Sie,  dass  die  Einstellung  GatewayPorts die Adressen, an denen auf Anfragen gewartet
               wird, weiter einschränken kann. Beachten Sie, dass ssh(1) einen Rechnernamen  »localhost«  senden
               wird,  falls  kein  Rechner,  an  dem  auf  Anfragen  gewartet werden soll, bei der Bitte um eine
               Weiterleitung angegeben wurde und dass dieser Name anders als die  expliziten  Localhost-Adressen
               »127.0.0.1« und »::1« behandelt wird.

       permitopen="Rechner:Port"
               Beschränkt  Port-Weiterleitungen  mit  der  Option -L von ssh(1), so dass nur Verbindungen zu dem
               festgelegten Rechner und Port möglich sind. IPv6-Adressen können durch Einschluss der Adresse  in
               eckige  Klammern  festgelegt  werden.  Mehrere  Optionen permitopen können durch Kommata getrennt
               angewandt  werden.  Es  erfolgt  bei  den  festgelegten  Rechnernamen  kein  Mustervergleich  und
               Namensauflösung,  sie  müssen  wortwörtliche  Rechnernamen  und/oder  Adressen  sein.  Eine Port-
               Festlegung * passt auf jeden Port.

       port-forwarding
               Aktiviert Port-Weiterleitung, die vorher mit der Option restrict deaktiviert wurde.

       principals="Prinzipale"
               Legt    auf    einer    cert-authority    -Zeile    die    erlaubten    Prinzipale    für     die
               Zertifikatsauthentifizierung  als Kommata-getrennte Liste fest. Mindestens ein Name aus der Liste
               muss in der Zertifikatsliste der Prinzipale erscheinen, damit  das  Zertifikat  akzeptiert  wird.
               Diese  Option  wird  für Schlüssel, die nicht mit der Option cert-authority als vertrauenswürdige
               Zertifikatsignierer markiert sind, ignoriert.

       pty     Erlaubt TTY-Zuweisung, die vorher mit der Option restrict deaktiviert wurde.

       no-touch-required
               Erfordert keinen Nachweis der Anwesenheit  des  Benutzers  für  Signaturen,  die  mittels  dieses
               Schlüssels erfolgten. Diese Option ergibt nur für die FIDO-Authenticator-Algorithmen ecdsa-sk und
               ed25519-sk Sinn.

       verify-required
               Verlangt,  dass  mit  diesem  Schlüssel  erstellte  Signaturen beglaubigen, dass sie vom Benutzer
               bestätigt wurden, z.B. über eine  PIN.  Diese  Option  ergibt  nur  für  die  FIDO-Authenticator-
               Algorithmen ecdsa-sk und ed25519-sk Sinn.

       restrict
               Aktiviert  alle  Beschränkungen, d.h. deaktiviert die Weiterleitung vom Port, Vermittler und X11,
               sowie deaktiviert die PTY-Zuweisung und die Ausführung von  ~/.ssh/rc.  Falls  zukünftig  weitere
               Beschränkungsfähigkeiten  zu  den authorized_keys-Dateien hinzugefügt werden, werden sie in diese
               Menge aufgenommen.

       tunnel="n"
               Erzwingt ein tun(4) -Gerät auf dem Server. Ohne diese Option wird das  nächste  verfügbare  Gerät
               verwandt, falls der Client einen Tunnel anfordert.

       user-rc
               Aktiviert die Ausführung von ~/.ssh/rc, die vorher durch die Option restrict deaktiviert war.

       X11-forwarding
               Erlaubt X11-Weiterleitung, die vorher durch die Option restrict deaktiviert war.

       Ein Beispiel für eine authorized_keys-Datei:

          # Kommentare dürfen am Zeilenanfang anfangen. Leere Zeilen sind erlaubt.
          # Einfacher Schlüssel, keine Einschränkung
          ssh-rsa …
          # Befehl erzwingen, deaktiviert PTY und sämtliche Weiterleitung
          restrict,command="dump /home" ssh-rsa …
          # »ssh -L«-Weiterleitungsziele beschränken
          permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh-rsa …
          # Auf Anfrage wartende »ssh -R«-Weiterleitungen beschränken
          permitlisten="localhost:8080",permitlisten="[::1]:22000" ssh-rsa …
          # Konfiguration für lokale Tunnel-Weiterleitung
          tunnel="0",command="sh /etc/netstart tun0" ssh-rsa …
          # Außerkraftsetzung der Beschränkung, um PTY-Zuweisungen zu erlauben
          restrict,pty,command="nethack" ssh-rsa …
          # FIDO-Schlüssel erlauben, ohne Berührung zu erzwingen
          no-touch-required sk-ecdsa-sha2-nistp256@openssh.com …
          # Benutzer-Überprüfung (z.B. PIN oder Biometrie) für FIDO-Schlüssel verlangen
          verify-required sk-ecdsa-sha2-nistp256@openssh.com …
          # CA-Schlüssel vertrauen, berühungsloses FIDO erlauben, falls im Zertifikat erbeten
          cert-authority,no-touch-required,principals="user_a" ssh-rsa …

SSH_KNOWN_HOSTS-DATEIFORMAT

       Die  Dateien  /etc/ssh/ssh_known_hosts  und  ~/.ssh/known_hosts  enthalten öffentliche Schlüssel für alle
       bekannten Rechner. Die globale Datei sollte durch den Administrator vorbereitet werden (optional) und die
       benutzerbezogene Datei wird automatisch verwaltet: immer wenn sich der  Benutzer  mit  einem  unbekannten
       Rechner verbindet, wird sein Schlüssel zu der benutzerbezogenen Datei hinzugefügt.

       Jede  Zeile  in  diesen  Dateien  enthält  die  folgenden  Felder:  Markierung  (optional),  Rechnername,
       Schlüsseltyp, Base64-kodierter Schlüssel, Kommentar. Die Felder sind durch Leerzeichen getrennt.

       Die Markierung ist optional, falls sie aber vorhanden ist, muss sie entweder »@cert-authority«  sein,  um
       anzuzeigen,  dass  die  Zeile  einen  Schlüssel einer Zertifizierungsstelle (CA) ist, oder »@revoked«, um
       anzuzeigen, dass der in der Zeile enthaltene Schlüssel zurückgezogen wurde und niemals akzeptiert  werden
       darf. Auf einer Schlüsselzeile sollte nur eine Markierung verwandt werden.

       Rechnernamen  sind  eine  durch Kommata getrennte Liste von Mustern (‘*’ und ‘?’ wirken als Platzhalter);
       jedes Muster wiederum wird mit dem Rechnernamen verglichen. Wenn sshd einen Client  authentifiziert,  wie
       beispielsweise bei der Verwendung von HostbasedAuthentication, wird dies der kanonische Rechnername sein.
       Wenn  ssh(1)  durch  einen Server authentifiziert wird, wird dies der vom Benutzer angegebene Rechnername
       sein, der  Wert  aus  HostkeyAlias  von  ssh(1),  falls  dieser  festgelegt  wurde  oder  der  kanonische
       Rechnername, falls die Option CanonicalizeHostname von ssh(1) verwandt wurde.

       Einem Muster kann auch ‘!’ als Zeichen für die Verneinung vorangestellt werden: falls der Rechner auf ein
       verneintes  Muster passt, wird er (durch diese Zeile) überhaupt nicht akzeptiert, selbst falls er auf ein
       anderes Muster in dieser Zeile passt. Ein Rechnername oder eine Adresse kann optional in die Klammern ‘[’
       und ‘]’ eingeschlossen sein, gefolgt dann von einem ‘:’ und einer individuellen Port-Nummer.

       Alternativ  können  Rechnernamen  in  einer  gehashten  Form  gespeichert  werden.  Diese  versteckt  die
       Rechnernamen  und  -adressen,  sollte  der  Inhalt  der  Datei  offengelegt werden. Gehashte Rechnernamen
       beginnen mit dem Zeichen ‘|’. Auf einer Zeile darf nur ein einzelner gehashter Rechername auftauchen  und
       die oben beschriebenen Verneinungs- und Platzhalteroperatoren dürfen nicht angewandt werden.

       Der  Schlüsseltyp und der Base64-kodierte Schlüssel werden direkt aus dem Rechnerschlüssel entnommen; sie
       können beispielsweise aus /etc/ssh/ssh_host_rsa_key.pub erhalten werden. Das optionale Kommentarfeld geht
       bis zum Zeilenende und wird nicht verwandt.

       Leere Zeilen und Zeilen, die mit ‘#’ beginnen, werden als Kommentare ignoriert.

       Bei der Durchführung von Rechner-Authentifizierung wird die Authentifizierung akzeptiert, falls auf einer
       Zeile der geeignete Schlüssel steht;  entweder  einer,  der  genau  passt  oder,  falls  der  Server  ein
       Zertifikat  für  die  Authentifizierung präsentiert hat, der Schlüssel der Zertifizierungsstelle, die das
       Zertifikat signierte. Damit einem Schlüssel von einer Zertifizierungsstelle vertraut wird,  muss  er  die
       oben beschriebene Markierung »@cert-authority« verwenden.

       Die  Datei der bekannten Rechner bietet auch die Möglichkeit, Schlüssel als widerrufen zu markieren, wenn
       beispielsweise bekannt ist, dass der zugehörige private Schlüssel gestohlen wurde. Widerrufene  Schlüssel
       werden  gekennzeichnet, indem die Markierung »@revoked« am Anfang der Schlüsselzeile aufgenommen wird und
       diese werden für die Autorisierung oder als Zertifizierungsstelle niemals akzeptiert  sondern  führen  zu
       einer Warnung durch ssh(1), wenn sie angetroffen werden.

       Es  ist  erlaubt  (wird  aber nicht empfohlen), mehrere Zeilen oder verschiedene Rechnerschlüssel für den
       gleichen Namen zu  haben.  Dies  wird  zwangsläufig  passieren,  wenn  Kurzformen  von  Rechnernamen  von
       verschiedenen  Domains  in  der  Datei abgelegt werden. Es ist möglich, dass die Dateien widersprüchliche
       Informationen enthalten; Authentifizierung wird akzeptiert, falls  gültige  Informationen  in  einer  der
       Dateien gefunden werden können.

       Beachten  Sie,  dass  die  Zeilen  in diesen Dateien normalerweise Hunderte von Zeichen lang sind und sie
       garantiert nicht die Rechnerschlüssel händisch eingeben wollen. Erstellen Sie sie eher durch ein  Skript,
       ssh-keyscan(1),   oder   indem  Sie  beispielsweise  /etc/ssh/ssh_host_rsa_key.pub  verwenden  und  vorne
       Rechnernamen  hinzufügen.  ssh-keygen(1)  bietet   auch   grundlegende   automatische   Bearbeitung   von
       ~/.ssh/known_hosts  an,  einschließlich dem Entfernen von Rechnern, die auf einen Rechnernamen passen und
       die Umwandlung aller Rechnernamen in ihre gehashte Darstellung.

       Beispiel für eine ssh_known_hosts-Datei:

          # Kommentare am Zeilenanfang erlaubt
          cvs.example.net,192.0.2.10 ssh-rsa AAAA1234……=
          # Ein gehashter Rechnername
          |1|JfKTdBh7rNbXkVAQCRp4OQoPfmI=|USECr3SWf1JUPsms5AqfD5QfxkM= ssh-rsa
          AAAA1234……=
          # Ein widerrufener Schlüssel
          @revoked * ssh-rsa AAAAB5W…
          # Ein CA-Schlüssel, akzeptiert für jeden Rechner in *.mydomain.com oder *.mydomain.org
          @cert-authority *.mydomain.org,*.mydomain.com ssh-rsa AAAAB5W…

DATEIEN

       ~/.hushlogin
               Diese Datei wird zum Unterdrücken der Ausgabe der letzten Anmeldezeit und  von  /etc/motd,  falls
               PrintLastLog  bzw.  PrintMotd  aktiviert  wurden,  verwandt. Es unterdrückt nicht die Ausgabe des
               durch Banner festgelegten Spruchtextes.

       ~/.rhosts
               Diese Datei wird für  Rechner-basierte  Authentifizierung  verwandt  (siehe  ssh(1)  für  weitere
               Informationen). Auf einigen Maschinen muss diese Datei für alle lesbar sein, falls sich das Home-
               Verzeichnis des Benutzers auf einer NFS-Partition befindet, da sshd es als Root liest. Zusätzlich
               muss  diese  Datei  dem  Benutzer  gehören  und  darf für keinen anderen eine Schreibberechtigung
               enthalten. Die empfohlenen Berechtigungen für die meisten Maschinen ist lesen/schreiben  für  den
               Benutzer und keinen Zugriff für alle anderen.

       ~/.shosts
               Die  Datei  wird  genau  auf  die gleiche Art wie .rhosts verwandt, erlaubt aber Rechner-basierte
               Authentifizierung, ohne Anmeldungen mittels Rlogin/Rsh zu ermöglichen.

       ~/.ssh/
               Das  Verzeichnis  ist  der  Standardort  für  alle   benutzerspezifischen   Konfigurations-   und
               Authentifizierungsinformationen. Es gibt keine allgemeine Anforderung, sämtliche Informationen in
               diesem    Verzeichnis    geheim   zu   halten,   aber   die   empfohlenen   Berechtigungen   sind
               Lesen/Schreiben/Ausführen für den Benutzer und kein Zugriff für andere.

       ~/.ssh/authorized_keys
               Listet die öffentlichen Schlüssel (ECDSA,  Ed25519,  RSA)  auf,  die  für  die  Anmeldung  dieses
               Benutzers  verwandt  werden  können. Das Format dieser Datei ist oben beschrieben. Der Inhalt der
               Datei ist nicht groß sensitiv, aber die empfohlenen Berechtigungen sind lesen/schreiben  für  den
               Benutzer und kein Zugriff für alle anderen.

               Falls  diese  Datei,  das  Verzeichnis  ~/.ssh  oder das Home-Verzeichnis des Benutzer für andere
               Benutzer schreibbar sind, dann könnte diese Datei durch nicht berechtigte Benutzer verändert oder
               ausgetauscht werden. In diesem Fall wird sshd die Verwendung nicht  erlauben,  außer  die  Option
               StrictModes wurde auf »no« gesetzt.

       ~/.ssh/environment
               Diese  Datei  wird  (falls sie existiert) bei der Anmeldung in die Umgebung gelesen. Sie darf nur
               leere Zeilen, Kommentarzeilen (die mit ‘#’ beginnen)  und  Zuweisungszeilen  der  Form  Name=Wert
               enthalten.  Die Datei sollte nur für den Benutzer schreibbar sein; kein anderer Benutzer muss sie
               lesen können. Standardmäßig ist die Verarbeitung der Umgebung deaktiviert und dies wird über  die
               Option PermitUserEnvironment gesteuert.

       ~/.ssh/known_hosts
               Enthält eine Liste von Rechnerschlüsseln für alle Rechner, bei denen sich der Benutzer angemeldet
               hat  und  die  nicht  bereits in der systemweiten Liste der bekannten Rechner enthalten sind. Das
               Format dieser  Datei  ist  oben  beschrieben.  Diese  Datei  sollte  nur  für  den  Benutzer/root
               les-/schreibbar sein und muss nicht für alle lesbar sein.

       ~/.ssh/rc
               Enthält  Initialisierungsroutinen,  die  ausgeführt werden sollen, bevor das Home-Verzeichnis des
               Benutzers zugreifbar wird. In diese Datei sollte nur der Benutzer schreiben können und  sie  muss
               nicht für andere lesbar sein.

       /etc/hosts.allow
       /etc/hosts.deny
               Zugriffssteuerungen, die durch tcp-wrappers erzwungen werden sollen, sind hier definiert. Weitere
               Details sind in hosts_access(5) beschrieben.

       /etc/hosts.equiv
               Diese  Datei  ist  für Rechner-basierte Authentifizierung (siehe ssh(1)). Sie sollte nur für Root
               beschreibbar sein.

       /etc/ssh/moduli
               Enthält      Diffie-Hellman-Gruppen,      die      für      die       »Diffie-Hellman       Group
               Exchange«-Schlüsselaustauschmethode   verwandt   werden.   Das   Dateiformat   ist  in  moduli(5)
               beschrieben. Falls keine benutzbaren Gruppen in dieser Datei gefunden werden, dann werden interne
               Gruppen verwandt.

       /etc/motd
               Siehe motd(5).

       /etc/nologin
               Falls diese Datei existiert, wird sshd die Anmeldung aller  Benutzer  außer  Root  ablehnen.  Der
               Inhalt  der  Datei  wird allen angezeigt, die eine Anmeldung versuchen und alle Anmeldungen außer
               Root werden abgelehnt. Die Datei sollte für jeden Benutzer lesbar sein.

       /etc/ssh/shosts.equiv
               Die Datei wird genau auf die gleiche Art wie hosts.equiv verwandt, erlaubt aber  Rechner-basierte
               Authentifizierung, ohne Anmeldungen mittels Rlogin/Rsh zu ermöglichen.

       /etc/ssh/ssh_host_ecdsa_key
       /etc/ssh/ssh_host_ed25519_key
       /etc/ssh/ssh_host_rsa_key
               Diese Dateien enthalten die privaten Anteile der Rechnerschlüssel. Diese Dateien sollten nur Root
               gehören,  nur  von Root lesbar sein und andere sollten keinen Zugriff darauf haben. Beachten Sie,
               dass sshd nicht startet, wenn auf diese Dateien von Gruppen oder  anderen  Benutzern  zugegriffen
               werden kann.

       /etc/ssh/ssh_host_ecdsa_key.pub
       /etc/ssh/ssh_host_ed25519_key.pub
       /etc/ssh/ssh_host_rsa_key.pub
               Diese  Dateien enthalten die öffentlichen Anteile der Rechnerschlüssel. Diese Dateien sollten von
               jedem gelesen werden können, aber nur für Root schreibbar sein.  Ihre  Inhalte  sollten  auf  die
               entsprechenden privaten Teile passen. Diese Dateien werden nicht wirklich für etwas verwandt, sie
               sind  zum  Nutzen  der Benutzer bereitgestellt, so dass ihr Inhalt in die Datei bekannter Rechner
               kopiert werden kann. Diese Dateien werden mittels ssh-keygen(1) erstellt.

       /etc/ssh/ssh_known_hosts
               Systemweite  Liste  der  Schlüssel  der  bekannten  Rechner.  Diese  Datei   sollte   durch   den
               Systemadministrator  zusammengestellt  werden,  um  die  Rechner-Schlüssel aller Maschinen in der
               Organisation zu enthalten. Das Format der Datei wird oben beschrieben. Diese Datei sollte nur von
               Root/dem Eigentümer beschreibbar sein und von jedem gelesen werden können.

       /etc/ssh/sshd_config
               Enthält Konfigurationsdaten für sshd. Das Dateiformat  und  die  Konfigurationsoptionen  sind  in
               sshd_config(5) beschrieben.

       /etc/ssh/sshrc
               Ähnlich  wie  ~/.ssh/rc  kann  sie  global  zur Angabe maschinen-spezifischer Initialisierung zum
               Anmeldezeitpunkt verwandt werden. Diese Datei sollte nur durch Root beschreibbar  und  von  jedem
               lesbar sein.

       /run/sshd
               Das  von  sshd  während  der  Privilegientrennung  in  der  Vor-Authentifizierungsphase verwandte
               chroot(2) -Verzeichnis. Das Verzeichnis sollte keine Dateien enthalten und muss Root gehören  und
               nicht für Gruppen oder alle anderen beschreibbar sein.

       /run/sshd.pid
               Enthält  die Prozesskennung des sshd, das auf Verbindungen wartet (falls es mehrere Daemons gibt,
               die gleichzeitig auf verschiedenen Ports laufen, enthält  dies  die  Prozesskennung  des  zuletzt
               gestarteten). Der Inhalt dieser Datei ist nicht sensitiv; sie kann für alle lesbar sein.

SIEHE AUCH

       scp(1),   sftp(1),   ssh(1),   ssh-add(1),   ssh-agent(1),   ssh-keygen(1),   ssh-keyscan(1),  chroot(2),
       hosts_access(5), moduli(5), sshd_config(5), inetd(8), sftp-server(8)

AUTOREN

       OpenSSH ist eine Ableitung der ursprünglichen und freien SSH-1.2.12-Veröffentlichung durch  Tatu  Ylonen.
       Aaron  Campbell,  Bob  Beck,  Markus  Friedl,  Niels  Provos, Theo de Raadt und Dug Song entfernten viele
       Fehler, fügten neue Funktionalitäten wieder hinzu und erstellten  OpenSSH.  Markus  Friedl  steuerte  die
       Unterstützung  für  SSH-Protokollversion  1.5  und  2.0 bei. Niels Provos und Markus Friedl steuerten die
       Unterstützung für die Privilegientrennung bei.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

       Diese Übersetzung ist  Freie  Dokumentation;  lesen  Sie  die  GNU  General  Public  License  Version  3:
       https://www.gnu.org/licenses/gpl-3.0.html  oder  neuer bezüglich der Copyright-Bedingungen. Es wird KEINE
       HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte  eine  E-Mail  an  die
       Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org .

Debian                                         15. September, 2024                                       SSHD(8)