sshd_config Handbuch deutsch

sshd_config Handbuch deutsch

ssh_config Handbuch deutsch ist das Handbuch zur Konfigurationsdatei von SSH der sshd_config

sshd_config — Linux Handbuch
OpenSSH daemon Konfigurations Datei
DESCRIPTION
sshd liest Konfigurationsdaten aus /etc/ssh/sshd_config (oder der mit -f auf der Kommandozeile angegebenen Datei). Die Datei enthält Schlüsselwort-Argument-Paare, eines pro Zeile. Für jedes Schlüsselwort wird der erste erhaltene Wert verwendet. Zeilen, die mit „#“ beginnen, und Leerzeilen werden als Kommentar interpretiert. Argumente können optional in doppelte Anführungszeichen (") eingeschlossen werden, um Argumente darzustellen, die Leerzeichen enthalten.

Die möglichen Schlüsselwörter und ihre Bedeutung sind wie folgt (beachten Sie, dass bei Schlüsselwörtern die Groß- und Kleinschreibung und bei Argumenten die Groß-/Kleinschreibung beachtet wird):

AcceptEnv
Gibt an, welche vom Client gesendeten Umgebungsvariablen in die Umgebung der Sitzung kopiert werden. Siehe SendEnv und SetEnv in ssh_config für die Konfiguration des Clients. Die Umgebungsvariable TERM wird immer akzeptiert, wenn der Client ein Pseudo-Terminal anfordert, wie es vom Protokoll verlangt wird. Variablen werden über Namen angegeben, die die Platzhalterzeichen „*“ und „?“ enthalten können.
Mehrere Umgebungsvariablen können durch Leerzeichen getrennt oder über mehrere AcceptEnv-Anweisungen verteilt werden. Seien Sie gewarnt, dass einige Umgebungsvariablen verwendet werden könnten, um eingeschränkte Benutzerumgebungen zu umgehen. Aus diesem Grund ist bei der Verwendung dieser Richtlinie Vorsicht geboten. Standardmäßig werden keine Umgebungsvariablen akzeptiert.

AddressFamily
Gibt an, welche Adressfamilie von sshd verwendet werden soll. Gültige Argumente sind any (Standardeinstellung), inet (nur IPv4 verwenden) oder inet6 (nur IPv6 verwenden).

AllowAgentForwarding
Gibt an, ob die ssh-agent-Weiterleitung erlaubt ist. Die Voreinstellung ist ja. Beachten Sie, dass das Deaktivieren der Agentenweiterleitung die Sicherheit nicht verbessert, es sei denn, Benutzern wird auch der Shell-Zugriff verweigert, da sie immer ihre eigenen Weiterleitungen installieren können.

AllowGroups
Auf dieses Schlüsselwort kann eine durch Leerzeichen getrennte Liste mit Mustern für Gruppennamen folgen. Wenn angegeben, ist die Anmeldung nur für Benutzer zulässig, deren primäre Gruppen- oder Zusatzgruppenliste mit einem der Muster übereinstimmt. Nur Gruppennamen sind gültig; eine numerische Gruppen-ID wird nicht erkannt. Standardmäßig ist die Anmeldung für alle Gruppen erlaubt. Die Anweisungen zum Zulassen/Ablehnen von Gruppen werden in der folgenden Reihenfolge verarbeitet: DenyGroups, AllowGroups.

Siehe PATTERNS in ssh_config für weitere Informationen über Muster.

AllowStreamLocalForwarding
Gibt an, ob StreamLocal (Unix-Domänen-Socket)-Weiterleitung zulässig ist. Die verfügbaren Optionen sind yes (Standardeinstellung) oder all, um StreamLocal-Weiterleitung zuzulassen, no, um jegliche StreamLocal-Weiterleitung zu verhindern, local, um nur lokale (aus Sicht von ssh) Forwarding zuzulassen, oder remote, um nur Remote-Forwarding zuzulassen. Beachten Sie, dass das Deaktivieren der StreamLocal-Weiterleitung die Sicherheit nicht verbessert, es sei denn, Benutzern wird auch der Shell-Zugriff verweigert, da sie immer ihre eigenen Weiterleitungen installieren können.

AllowTcpForwarding
Gibt an, ob TCP-Forwarding erlaubt ist. Die verfügbaren Optionen sind yes (Standardeinstellung) oder all, um TCP-Weiterleitung zuzulassen, no, um jegliche TCP-Weiterleitung zu verhindern, local, um nur lokale (aus Sicht von ssh) Weiterleitung zuzulassen, oder remote, um nur entfernte Weiterleitung zuzulassen. Beachten Sie, dass das Deaktivieren der TCP-Weiterleitung die Sicherheit nicht verbessert, es sei denn, Benutzern wird auch der Shell-Zugriff verweigert, da sie immer ihre eigenen Weiterleitungen installieren können.

AllowUsers
Auf dieses Schlüsselwort kann eine durch Leerzeichen getrennte Liste mit Mustern für Benutzernamen folgen. Wenn angegeben, ist die Anmeldung nur für Benutzernamen zulässig, die mit einem der Muster übereinstimmen.
Nur Benutzernamen sind gültig; eine numerische Benutzer-ID wird nicht erkannt. Standardmäßig ist die Anmeldung für alle Benutzer erlaubt. Wenn das Muster die Form USER@HOST annimmt, werden USER und HOST separat überprüft, wodurch die Anmeldungen auf bestimmte Benutzer von bestimmten Hosts beschränkt werden. HOST-Kriterien können zusätzlich Adressen enthalten, die im CIDR-Adress-/Maskenformat abgeglichen werden müssen. Die Anweisungen zum Zulassen/Ablehnen von Benutzern werden in der folgenden Reihenfolge verarbeitet: DenyUsers, AllowUsers.

Weitere Informationen zu Mustern finden Sie unter PATTERNS in ssh_config.

AuthenticationMethods
Gibt die Authentifizierungsmethoden an, die erfolgreich abgeschlossen werden müssen, damit einem Benutzer Zugriff gewährt wird. Auf diese Option müssen eine oder mehrere Listen mit durch Kommas getrennten Authentifizierungsmethodennamen oder die einzelne Zeichenfolge any folgen, um das Standardverhalten zum Akzeptieren einer einzelnen Authentifizierungsmethode anzugeben. Wenn die Standardeinstellung außer Kraft gesetzt wird, erfordert eine erfolgreiche Authentifizierung den Abschluss jeder Methode in mindestens einer dieser Listen.

Zum Beispiel würde "öffentlicher Schlüssel, Kennwort öffentlicher Schlüssel, Tastatur-interaktiv" erfordern, dass der Benutzer die Authentifizierung mit öffentlichem Schlüssel abschließt, gefolgt von entweder Kennwort- oder Tastatur-interaktiver Authentifizierung. In jeder Phase werden nur Methoden angeboten, die in einer oder mehreren Listen als Nächstes aufgeführt sind, sodass es für dieses Beispiel nicht möglich wäre, vor dem öffentlichen Schlüssel eine Kennwort- oder tastaturinteraktive Authentifizierung zu versuchen.

Für die tastaturinteraktive Authentifizierung ist es auch möglich, die Authentifizierung auf ein bestimmtes Gerät zu beschränken, indem ein Doppelpunkt gefolgt von der Gerätekennung bsdauth oder pam angehängt wird. abhängig von der Serverkonfiguration. Beispielsweise würde "keyboard-interactive:bsdauth" die interaktive Tastaturauthentifizierung auf das bsdauth-Gerät beschränken.

Wenn die publickey-Methode mehr als einmal aufgeführt ist, überprüft sshd, dass erfolgreich verwendete Schlüssel nicht für nachfolgende Authentifizierungen wiederverwendet werden. Beispielsweise erfordert „publickey,publickey“ eine erfolgreiche Authentifizierung mit zwei verschiedenen öffentlichen Schlüsseln.

Beachten Sie, dass jede aufgeführte Authentifizierungsmethode auch explizit in der Konfiguration aktiviert werden sollte.

Die verfügbaren Authentifizierungsmethoden sind: „gssapi-with-mic“, „hostbased“, „keyboard-interactive“, „none“ (wird für den Zugriff auf passwortlose Konten verwendet, wenn PermitEmptyPasswords aktiviert ist), „password“ und „publickey“.


AuthorizedKeysCommand
Gibt ein Programm an, das zum Suchen der öffentlichen Schlüssel des Benutzers verwendet werden soll. Das Programm muss root gehören, darf nicht von der Gruppe oder anderen geschrieben werden und muss durch einen absoluten Pfad angegeben werden. Argumente für AuthorizedKeysCommand akzeptieren die im Abschnitt TOKEN beschriebenen Token. Wenn keine Argumente angegeben werden, wird der Benutzername des Zielbenutzers verwendet.

Das Programm sollte auf der Standardausgabe null oder mehr Zeilen der Ausgabe von authorized_keys erzeugen (siehe AUTHORIZED_KEYS in sshd). AuthorizedKeysCommand wird nach den üblichen AuthorizedKeysFile-Dateien versucht und wird nicht ausgeführt, wenn dort ein passender Schlüssel gefunden wird. Standardmäßig wird kein AuthorizedKeysCommand ausgeführt.

AuthorizedKeysCommandUser
Gibt den Benutzer an, unter dessen Konto der AuthorizedKeysCommand ausgeführt wird. Es wird empfohlen, einen dedizierten Benutzer zu verwenden, der keine andere Rolle auf dem Host hat, als autorisierte Schlüsselbefehle auszuführen. Wenn AuthorizedKeysCommand angegeben ist, AuthorizedKeysCommandUser jedoch nicht, wird sshd den Start verweigern.

AuthorizedKeysFile
Gibt die Datei an, die die öffentlichen Schlüssel enthält, die für die Benutzerauthentifizierung verwendet werden. Das Format wird im Abschnitt AUTHORIZED_KEYS FILE FORMAT von sshd beschrieben. Argumente für AuthorizedKeysFile akzeptieren die im Abschnitt TOKEN beschriebenen Token. Nach der Erweiterung wird AuthorizedKeysFile als absoluter Pfad oder relativ zum Basisverzeichnis des Benutzers verwendet. Es können mehrere Dateien aufgelistet werden, die durch Leerzeichen getrennt sind. Alternativ kann diese Option auf none gesetzt werden, um die Suche nach Benutzerschlüsseln in Dateien zu überspringen. Der Standardwert ist „.ssh/authorized_keys .ssh/authorized_keys2“.

AuthorizedPrincipalsCommand
Gibt ein Programm an, das zum Generieren der Liste zulässiger Zertifikatsprinzipale gemäß AuthorizedPrincipalsFile verwendet werden soll. Das Programm muss root gehören, darf nicht von der Gruppe oder anderen geschrieben werden und muss durch einen absoluten Pfad angegeben werden. Argumente für AuthorizedPrincipalsCommand akzeptieren die im Abschnitt TOKEN beschriebenen Token. Wenn keine Argumente angegeben werden, wird der Benutzername des Zielbenutzers verwendet.

Das Programm sollte auf der Standardausgabe null oder mehr Zeilen der AuthorizedPrincipalsFile-Ausgabe erzeugen. Wenn entweder AuthorizedPrincipalsCommand oder AuthorizedPrincipalsFile angegeben ist, müssen Zertifikate, die vom Client zur Authentifizierung angeboten werden, einen aufgelisteten Prinzipal enthalten. Standardmäßig wird kein AuthorizedPrincipalsCommand ausgeführt.

AuthorizedPrincipalsCommandUser
Gibt den Benutzer an, unter dessen Konto der AuthorizedPrincipalsCommand ausgeführt wird. Es wird empfohlen, einen dedizierten Benutzer zu verwenden, der keine andere Rolle auf dem Host hat, als autorisierte Prinzipalbefehle auszuführen. Wenn AuthorizedPrincipalsCommand angegeben ist, AuthorizedPrincipalsCommandUser jedoch nicht, wird sshd den Start verweigern.

AuthorizedPrincipalsFile
Gibt eine Datei an, die Prinzipalnamen auflistet, die für die Zertifikatsauthentifizierung akzeptiert werden. Bei der Verwendung von Zertifikaten, die mit einem in TrustedUserCAKeys aufgeführten Schlüssel signiert sind, listet diese Datei Namen auf, von denen einer im Zertifikat erscheinen muss, damit es für die Authentifizierung akzeptiert wird. Namen werden einzeln pro Zeile aufgelistet, denen Schlüsseloptionen vorangestellt sind (wie in AUTHORIZED_KEYS FILE FORMAT in sshd beschrieben).
Leerzeilen und Kommentare, die mit „#“ beginnen, werden ignoriert.

Argumente für AuthorizedPrincipalsFile akzeptieren die im Abschnitt TOKEN beschriebenen Token. Nach der Erweiterung wird AuthorizedPrincipalsFile als absoluter Pfad oder relativ zum Basisverzeichnis des Benutzers verwendet. Der Standardwert ist none, d. h. es wird keine Prinzipaldatei verwendet – in diesem Fall muss der Benutzername des Benutzers in der Prinzipalliste eines Zertifikats erscheinen, damit es akzeptiert wird.

Beachten Sie, dass AuthorizedPrincipalsFile nur verwendet wird, wenn die Authentifizierung über eine in TrustedUserCAKeys aufgeführte Zertifizierungsstelle erfolgt und nicht nach Zertifizierungsstellen konsultiert wird, denen über ~/.ssh/authorized_keys vertraut wird, obwohl die Schlüsseloption principals= eine ähnliche Einrichtung bietet (siehe sshd für Details).

Banner Der Inhalt der angegebenen Datei wird an den entfernten Benutzer gesendet, bevor die Authentifizierung zugelassen wird. Wenn das Argument none ist, wird kein Banner angezeigt. Standardmäßig wird kein Banner angezeigt.

CASignatureAlgorithms
Gibt an, welche Algorithmen zum Signieren von Zertifikaten durch Zertifizierungsstellen (CAs) zulässig sind. Die Voreinstellung ist:

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

Wenn die angegebene Liste mit einem „+“-Zeichen beginnt, werden die angegebenen Algorithmen an den Standardsatz angehängt, anstatt sie zu ersetzen. Wenn die angegebene Liste mit einem „-“-Zeichen beginnt, werden die angegebenen Algorithmen (einschließlich Platzhalter) aus dem Standardsatz entfernt, anstatt sie zu ersetzen.

Zertifikate, die mit anderen Algorithmen signiert wurden, werden nicht für die Public-Key- oder hostbasierte Authentifizierung akzeptiert.

ChrootDirectory
Gibt den Pfadnamen eines Verzeichnisses für Chroot nach der Authentifizierung an. Beim Sitzungsstart prüft sshd, ob alle Komponenten des Pfadnamens root-eigene Verzeichnisse sind, auf die kein anderer Benutzer oder keine andere Gruppe schreiben kann. Nach der Chroot ändert sshd das Arbeitsverzeichnis in das Home-Verzeichnis des Benutzers. Argumente für ChrootDirectory akzeptieren die im Abschnitt TOKEN beschriebenen Token.

Das ChrootDirectory muss die notwendigen Dateien und Verzeichnisse enthalten, um die Sitzung des Benutzers zu unterstützen. Für eine interaktive Sitzung erfordert dies mindestens eine Shell, normalerweise sh, und grundlegende /dev-Knoten wie null, zero, stdin, stdout, stderr und tty-Geräte. Für Dateiübertragungssitzungen mit SFTP ist keine zusätzliche Konfiguration der Umgebung erforderlich, wenn der prozessinterne sftp-Server verwendet wird, obwohl Sitzungen, die Protokollierung verwenden, möglicherweise /dev/log im Chroot-Verzeichnis auf einigen Betriebssystemen erfordern (siehe sftp-server für Einzelheiten).

Aus Sicherheitsgründen ist es sehr wichtig, dass verhindert wird, dass die Verzeichnishierarchie durch andere Prozesse auf dem System (insbesondere solche außerhalb des Gefängnisses) geändert wird.
Eine Fehlkonfiguration kann zu unsicheren Umgebungen führen, die sshd nicht erkennen kann.

Der Standardwert ist none, was darauf hinweist, nicht zu chrooten.


Ciphers
Gibt die zulässigen Verschlüsselungen an. Mehrere Verschlüsselungen müssen durch Kommas getrennt werden. Wenn die angegebene Liste mit einem „+“-Zeichen beginnt, werden die angegebenen Chiffren an den Standardsatz angehängt, anstatt sie zu ersetzen. Wenn die angegebene Liste mit einem „-“-Zeichen beginnt, werden die angegebenen Chiffren (einschließlich Platzhalter) aus dem Standardsatz entfernt, anstatt sie zu ersetzen. Wenn die angegebene Liste mit einem „^“-Zeichen beginnt, werden die angegebenen Chiffren an den Anfang des Standardsatzes gestellt.

Die unterstützten Chiffren sind:

3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
aes128-ctr
aes192-ctr
aes256-ctr
aes128-gcm@openssh.com
aes256-gcm@openssh.com
chacha20-poly1305@openssh.com

The default is:

chacha20-poly1305@openssh.com,
aes128-ctr,aes192-ctr,aes256-ctr,
aes128-gcm@openssh.com,aes256-gcm@openssh.com

Die Liste der verfügbaren Chiffren kann auch mit "ssh -Q cipher" abgerufen werden.

ClientAliveCountMax
Legt die Anzahl der Client-Alive-Nachrichten fest, die gesendet werden können, ohne dass sshd(8) Nachrichten vom Client zurückerhält. Wenn dieser Schwellenwert erreicht wird, während Client-Alive-Meldungen gesendet werden, trennt sshd den Client und beendet die Sitzung. Es ist wichtig zu beachten, dass sich die Verwendung von Client-Alive-Nachrichten stark von TCPKeepAlive unterscheidet. Die Client-Alive-Nachrichten werden über den verschlüsselten Kanal gesendet und sind daher nicht fälschbar. Die von TCPKeepAlive aktivierte TCP-Keepalive-Option ist spoofbar. Der Client-Alive-Mechanismus ist wertvoll, wenn der Client oder Server darauf angewiesen ist, zu wissen, wann eine Verbindung nicht mehr reagiert.

Der Standardwert ist 3. Wenn ClientAliveInterval auf 15 gesetzt ist und ClientAliveCountMax auf dem Standardwert belassen wird, werden nicht reagierende SSH-Clients nach etwa 45 Sekunden getrennt. Das Setzen von null für ClientAliveCountMax deaktiviert die Verbindungsbeendigung.

ClientAliveInterval
Legt ein Timeout-Intervall in Sekunden fest, nach dem, wenn keine Daten vom Client empfangen wurden, sshd eine Nachricht über den verschlüsselten Kanal sendet, um eine Antwort vom Client anzufordern. Der Standardwert ist 0, was bedeutet, dass diese Nachrichten nicht an den Client gesendet werden.

Compression
Gibt an, ob die Komprimierung aktiviert wird, nachdem sich der Benutzer erfolgreich authentifiziert hat. Das Argument muss ja, verzögert (ein älteres Synonym für ja) oder nein sein. Die Voreinstellung ist ja.

DenyGroups
Auf dieses Schlüsselwort kann eine durch Leerzeichen getrennte Liste mit Mustern für Gruppennamen folgen. Die Anmeldung wird Benutzern verweigert, deren Hauptgruppen- oder Zusatzgruppenliste mit einem der Muster übereinstimmt. Nur Gruppennamen sind gültig; eine numerische Gruppen-ID wird nicht erkannt. Standardmäßig ist die Anmeldung für alle Gruppen erlaubt. Die Allow/Deny-Gruppendirektiven werden in der folgenden Reihenfolge verarbeitet: DenyGroups, AllowGroups.

Weitere Informationen zu PATTERNS finden Sie unter PATTERNS in ssh_config.

DenyUsers
Auf dieses Schlüsselwort kann eine durch Leerzeichen getrennte Liste mit Mustern für Benutzernamen folgen. Die Anmeldung ist für Benutzernamen, die mit einem der Muster übereinstimmen, nicht zulässig. Nur Benutzernamen sind gültig; eine numerische Benutzer-ID wird nicht erkannt. Standardmäßig ist die Anmeldung für alle Benutzer erlaubt. Wenn das Muster die Form USER@HOST annimmt, werden USER und HOST separat überprüft, wodurch die Anmeldungen auf bestimmte Benutzer von bestimmten Hosts beschränkt werden. HOST-Kriterien können zusätzlich Adressen enthalten, die im CIDR-Adress-/Maskenformat abgeglichen werden müssen. Die Anweisungen zum Zulassen/Ablehnen von Benutzern werden in der folgenden Reihenfolge verarbeitet: DenyUsers, AllowUsers.

Weitere Informationen zu Mustern finden Sie unter PATTERNS in ssh_config.

DisableForwarding
Deaktiviert alle Weiterleitungsfunktionen, einschließlich X11, ssh-agent, TCP und StreamLocal. Diese Option setzt alle anderen weiterleitungsbezogenen Optionen außer Kraft und kann eingeschränkte Konfigurationen vereinfachen.

ExposeAuthInfo
Schreibt eine temporäre Datei mit einer Liste von Authentifizierungsmethoden und öffentlichen Anmeldeinformationen (z. B. Schlüsseln), die zur Authentifizierung des Benutzers verwendet werden. Der Speicherort der Datei wird der Benutzersitzung über die Umgebungsvariable SSH_USER_AUTH angezeigt. Die Voreinstellung ist nein.

FingerprintHash
Gibt den Hash-Algorithmus an, der beim Protokollieren von Schlüsselfingerabdrücken verwendet wird. Gültige Optionen sind: md5 und sha256. Der Standardwert ist sha256.

ForceCommand
Erzwingt die Ausführung des durch ForceCommand angegebenen Befehls, wobei alle vom Client und ~/.ssh/rc, falls vorhanden, bereitgestellten Befehle ignoriert werden. Der Befehl wird aufgerufen, indem die Login-Shell des Benutzers mit der Option -c verwendet wird. Dies gilt für die Shell-, Befehls- oder Subsystemausführung. Es ist am nützlichsten innerhalb eines Match-Blocks. Der ursprünglich vom Client bereitgestellte Befehl ist in der Umgebungsvariable SSH_ORIGINAL_COMMAND verfügbar. Die Angabe eines Befehls von internal-sftp erzwingt die Verwendung eines In-Process-SFTP-Servers, der keine Unterstützungsdateien benötigt, wenn er mit ChrootDirectory verwendet wird. Der Standardwert ist none.

GatewayPorts
Gibt an, ob entfernte Hosts eine Verbindung zu Ports herstellen dürfen, die für den Client weitergeleitet werden. Standardmäßig bindet sshd entfernte Portweiterleitungen an die Loopback-Adresse. Dadurch wird verhindert, dass sich andere Remote-Hosts mit weitergeleiteten Ports verbinden. GatewayPorts kann verwendet werden, um anzugeben, dass sshd zulassen soll, dass entfernte Portweiterleitungen an Nicht-Loopback-Adressen gebunden werden, sodass andere Hosts eine Verbindung herstellen können. Das Argument kann no sein, um zu erzwingen, dass Remote-Port-Weiterleitungen nur für den lokalen Host verfügbar sind, yes, um zu erzwingen, dass Remote-Port-Weiterleitungen an die Wildcard-Adresse gebunden werden, oder clientpecified, damit der Client die Adresse auswählen kann, an die die Weiterleitung gebunden ist. Die Voreinstellung ist no.

GSSAPIAuthentication
Gibt an, ob die Benutzerauthentifizierung basierend auf GSSAPI zulässig ist. Die Voreinstellung ist no.

GSSAPICleanupCredentials
Gibt an, ob der Cache für Anmeldeinformationen des Benutzers beim Abmelden automatisch gelöscht werden soll. Die Voreinstellung ist yes.

GSSAPIStrictAcceptorCheck
Legt fest, ob bei der Identität des GSSAPI-Akzeptors, gegen den sich ein Client authentifiziert, strikt vorgegangen werden soll. Wenn auf yes gesetzt, muss sich der Client beim Host-Service auf dem aktuellen Hostnamen authentifizieren. Wenn auf no gesetzt, kann sich der Client mit jedem Serviceschlüssel authentifizieren, der im Standardspeicher der Maschine gespeichert ist. Diese Einrichtung wird bereitgestellt, um den Betrieb auf Multihomed-Maschinen zu unterstützen. Die Voreinstellung ist yes.

HostbasedAcceptedAlgorithms
Gibt die Signaturalgorithmen an, die für die hostbasierte Authentifizierung als Liste von durch Kommas getrennten Mustern akzeptiert werden. Wenn die angegebene Liste alternativ mit einem „+“-Zeichen beginnt, werden die angegebenen Signaturalgorithmen an den Standardsatz angehängt, anstatt sie zu ersetzen. Wenn die angegebene Liste mit einem „-“-Zeichen beginnt, werden die angegebenen Signaturalgorithmen (einschließlich Platzhalter) aus dem Standardsatz entfernt, anstatt sie zu ersetzen. Wenn die angegebene Liste mit einem „^“-Zeichen beginnt, werden die angegebenen Signaturalgorithmen an den Anfang des Standardsatzes gesetzt. Die Voreinstellung für diese Option ist:

ssh-ed25519-cert-v01@openssh.com,
ecdsa-sha2-nistp256-cert-v01@openssh.com,
ecdsa-sha2-nistp384-cert-v01@openssh.com,
ecdsa-sha2-nistp521-cert-v01@openssh.com,
sk-ssh-ed25519-cert-v01@openssh.com,
sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
rsa-sha2-512-cert-v01@openssh.com,
rsa-sha2-256-cert-v01@openssh.com,
ssh-rsa-cert-v01@openssh.com,
ssh-ed25519,
ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
sk-ssh-ed25519@openssh.com,
sk-ecdsa-sha2-nistp256@openssh.com,
rsa-sha2-512,rsa-sha2-256,ssh-rsa

Die Liste der verfügbaren Signaturalgorithmen kann auch mit "ssh -Q HostbasedAcceptedAlgorithms" abgerufen werden. Dies wurde früher als HostbasedAcceptedKeyTypes bezeichnet.

HostbasedAuthentication
Gibt an, ob die rhosts- oder /etc/hosts.equiv-Authentifizierung zusammen mit einer erfolgreichen Public-Key-Client-Host-Authentifizierung zulässig ist (hostbasierte Authentifizierung). Die Voreinstellung ist no.

HostbasedUsesNameFromPacketOnly
Gibt an, ob der Server versucht, eine umgekehrte Namenssuche durchzuführen, wenn der Name während der Host-basierten Authentifizierung in den Dateien ~/.shosts, ~/.rhosts und /etc/hosts.equiv abgeglichen wird. Die Einstellung yes bedeutet, dass sshd(8) den vom Client bereitgestellten Namen verwendet, anstatt zu versuchen, den Namen aus der TCP-Verbindung selbst aufzulösen. Die Voreinstellung ist no.

HostCertificate
Gibt eine Datei an, die ein öffentliches Hostzertifikat enthält. Der öffentliche Schlüssel des Zertifikats muss mit einem privaten Hostschlüssel übereinstimmen, der bereits von HostKey angegeben wurde. Das Standardverhalten von sshd besteht darin, keine Zertifikate zu laden.

HostKey
Gibt eine Datei an, die einen privaten Hostschlüssel enthält, der von SSH verwendet wird. Die Standardwerte sind /etc/ssh/ssh_host_ecdsa_key, /etc/ssh/ssh_host_ed25519_key and /etc/ssh/ssh_host_rsa_key.

Beachten Sie, dass sshd sich weigert, eine Datei zu verwenden, wenn sie für Gruppen/Welten zugänglich ist, und dass die Option HostKeyAlgorithms einschränkt, welche der Schlüssel tatsächlich von sshd verwendet werden.

Es ist möglich, mehrere Hostschlüsseldateien zu haben. Es ist auch möglich, stattdessen öffentliche Hostschlüsseldateien anzugeben. In diesem Fall werden Operationen auf dem privaten Schlüssel an einen ssh-Agent delegiert.

HostKeyAgent
Identifiziert den UNIX-Domain-Socket, der für die Kommunikation mit einem Agenten verwendet wird, der Zugriff auf die privaten Hostschlüssel hat. Wenn die Zeichenfolge "SSH_AUTH_SOCK" angegeben ist, wird der Speicherort des Sockets aus der Umgebungsvariablen SSH_AUTH_SOCK gelesen.

HostKeyAlgorithms
Gibt die Hostschlüsselsignaturalgorithmen an, die der Server anbietet. Die Voreinstellung für diese Option ist:

ssh-ed25519-cert-v01@openssh.com,
ecdsa-sha2-nistp256-cert-v01@openssh.com,
ecdsa-sha2-nistp384-cert-v01@openssh.com,
ecdsa-sha2-nistp521-cert-v01@openssh.com,
sk-ssh-ed25519-cert-v01@openssh.com,
sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
rsa-sha2-512-cert-v01@openssh.com,
rsa-sha2-256-cert-v01@openssh.com,
ssh-rsa-cert-v01@openssh.com,
ssh-ed25519,
ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
sk-ssh-ed25519@openssh.com,
sk-ecdsa-sha2-nistp256@openssh.com,
rsa-sha2-512,rsa-sha2-256,ssh-rsa

Die Liste der verfügbaren Signaturalgorithmen kann auch mit "ssh -Q HostKeyAlgorithms" abgerufen werden.

IgnoreRhosts
Gibt an, ob benutzerspezifische .rhost- und .shosts-Dateien während der hostbasierten Authentifizierung ignoriert werden sollen. Unabhängig von dieser Einstellung werden weiterhin die systemweiten /etc/hosts.equiv und /etc/shosts.equiv verwendet.

Akzeptierte Werte sind yes (Standard), um alle Benutzerdateien zu ignorieren, shosts-only, um die Verwendung von .shosts zuzulassen, aber .rhosts zu ignorieren, oder no, um sowohl .shosts als auch rhosts zuzulassen.

IgnoreUserKnownHosts
Gibt an, ob sshd die ~/.ssh/known_hosts des Benutzers während der HostbasedAuthentication ignorieren und nur die systemweite Known-Hosts-Datei /etc//known_hosts verwenden soll. Die Voreinstellung ist no.

Include
Schließen Sie die angegebene(n) Konfigurationsdatei(en) ein. Es können mehrere Pfadnamen angegeben werden und jeder Pfadname kann glob(7)-Wildcards enthalten, die in lexikalischer Reihenfolge erweitert und verarbeitet werden. Dateien ohne absolute Pfade werden in /etc/ssh angenommen. Eine Include-Direktive kann innerhalb eines Match-Blocks erscheinen, um eine bedingte Einbeziehung durchzuführen.

IPQoS Gibt den IPv4-Diensttyp oder die DSCP-Klasse für die Verbindung an. Akzeptierte Werte sind af11, af12, af13, af21,af22, af23, af31, af32, af33, af41, af42, af43, cs0, cs1,cs2, cs3, cs4, cs5, cs6, cs7, ef, le, lowdelay, throughput, reliability, ein numerischer Wert oder none, um den Standardwert des Betriebssystems zu verwenden. Diese Option kann ein oder zwei Argumente annehmen, die durch Leerzeichen getrennt sind. Wenn ein Argument angegeben ist, wird es unbedingt als Paketklasse verwendet. Wenn zwei Werte angegeben werden, wird der erste automatisch für interaktive Sitzungen und der zweite für nicht interaktive Sitzungen ausgewählt. Der Standardwert ist af21 (Low-Latency Data) für interaktive Sitzungen und cs1 (Lower Effort) für nicht interaktive Sitzungen.

KbdInteractiveAuthentication
Gibt an, ob die tastaturinteraktive Authentifizierung zugelassen werden soll. Alle Authentifizierungsstile aus login.conf werden unterstützt. Die Voreinstellung ist yes. Das Argument für dieses Schlüsselwort muss yes oder no sein. ChallengeResponseAuthentication ist ein veralteter Alias dafür.

KerberosAuthentication
Gibt an, ob das vom Benutzer für PasswordAuthentication bereitgestellte Kennwort über das Kerberos-KDC validiert wird. Um diese Option zu verwenden, benötigt der Server ein Kerberos-Servtab, das die Überprüfung der Identität des KDC ermöglicht. Die Voreinstellung ist no.

KerberosGetAFSToken
Wenn AFS aktiv ist und der Benutzer über ein Kerberos 5 TGT verfügt, versuchen Sie, ein AFS-Token abzurufen, bevor Sie auf das Home-Verzeichnis des Benutzers zugreifen. Die Voreinstellung ist no.

KerberosOrLocalPasswd
Wenn die Kennwortauthentifizierung über Kerberos fehlschlägt, wird das Kennwort über einen zusätzlichen lokalen Mechanismus wie /etc/passwd validiert. Die Voreinstellung ist yes.

KerberosTicketCleanup
Gibt an, ob die Ticket-Cache-Datei des Benutzers beim Abmelden automatisch gelöscht werden soll. Die Voreinstellung ist yes.

KexAlgorithms
Gibt die verfügbaren KEX-Algorithmen (Key Exchange) an. Mehrere Algorithmen müssen durch Kommas getrennt werden. Wenn die angegebene Liste alternativ mit einem „+“-Zeichen beginnt, werden die angegebenen Methoden an den Standardsatz angehängt, anstatt sie zu ersetzen. Wenn die angegebene Liste mit einem „-“-Zeichen beginnt, werden die angegebenen Methoden (einschließlich Platzhalter) aus dem Standardsatz entfernt, anstatt sie zu ersetzen. Wenn die angegebene Liste mit einem „^“-Zeichen beginnt, werden die angegebenen Methoden an den Anfang des Standardsatzes gestellt. Die unterstützten Algorithmen sind:

curve25519-sha256
curve25519-sha256@libssh.org
diffie-hellman-group1-sha1
diffie-hellman-group14-sha1
diffie-hellman-group14-sha256
diffie-hellman-group16-sha512
diffie-hellman-group18-sha512
diffie-hellman-group-exchange-sha1
diffie-hellman-group-exchange-sha256
ecdh-sha2-nistp256
ecdh-sha2-nistp384
ecdh-sha2-nistp521
sntrup761x25519-sha512@openssh.com

The default is:

curve25519-sha256,curve25519-sha256@libssh.org,
ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
diffie-hellman-group-exchange-sha256,
diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,
diffie-hellman-group14-sha256

Die Liste der verfügbaren Schlüsselaustauschalgorithmen kann auch mit "ssh -Q KexAlgorithms" abgerufen werden.

ListenAddress
Gibt die lokalen Adressen an, auf denen sshd lauschen soll. Folgende Formulare können verwendet werden:

ListenAddress hostname|address [rdomain domain]
ListenAddress hostname:port [rdomain domain]
ListenAddress IPv4_address:port [rdomain domain]
ListenAddress [hostname|address]:port [rdomain domain]

Der optionale rdomain-Qualifizierer fordert sshd auf, in einer expliziten Routing-Domain zu lauschen. Wenn kein Port angegeben ist, lauscht sshd auf der Adresse und allen angegebenen Port-Optionen. Standardmäßig werden alle lokalen Adressen in der aktuellen Standard-Routingdomäne überwacht. Mehrere ListenAddress-Optionen sind zulässig. Weitere Informationen zum Routing von Domänen finden Sie unter rdomain.

LoginGraceTime
Der Server trennt nach dieser Zeit die Verbindung, wenn sich der Benutzer nicht erfolgreich angemeldet hat. Wenn der Wert 0 ist, gibt es keine zeitliche Begrenzung. Der Standardwert ist 120 Sekunden.

LogLevel
Gibt die Ausführlichkeitsstufe an, die verwendet wird, wenn Nachrichten von sshd(8) protokolliert werden. Die möglichen Werte sind: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 und DEBUG3. Der Standardwert ist INFO. DEBUG und DEBUG1 sind gleichwertig. DEBUG2 und DEBUG3 geben jeweils höhere Ebenen der Debugging-Ausgabe an. Die Protokollierung mit einem DEBUG-Level verletzt die Privatsphäre der Benutzer und wird nicht empfohlen.

LogVerbose
Geben Sie eine oder mehrere Überschreibungen für LogLevel an. Eine Überschreibung besteht aus einer Musterliste, die mit der Quelldatei, der Funktion und der Zeilennummer übereinstimmt, um eine detaillierte Protokollierung zu erzwingen. Zum Beispiel ein Überschreibungsmuster von:

kex.c:*:1000,*:kex_exchange_identification():*,packet.c:*

würde die detaillierte Protokollierung für Zeile 1000 von kex.c, alles in der Funktion kex_exchange_identification() und den gesamten Code in der Datei packet.c aktivieren. Diese Option ist für das Debuggen vorgesehen und standardmäßig sind keine Außerkraftsetzungen aktiviert.

MACs Gibt die verfügbaren MAC-Algorithmen (Message Authentication Code) an. Der MAC-Algorithmus wird zum Schutz der Datenintegrität verwendet. Mehrere Algorithmen müssen durch Kommas getrennt werden. Wenn die angegebene Liste mit einem „+“-Zeichen beginnt, werden die angegebenen Algorithmen an den Standardsatz angehängt, anstatt sie zu ersetzen. Wenn die angegebene Liste mit einem „-“-Zeichen beginnt, werden die angegebenen Algorithmen (einschließlich Platzhalter) aus dem Standardsatz entfernt, anstatt sie zu ersetzen. Wenn die angegebene Liste mit einem „^“-Zeichen beginnt, werden die angegebenen Algorithmen an den Anfang des Standardsatzes gesetzt.

Die Algorithmen, die "-etm" enthalten, berechnen den MAC nach der Verschlüsselung (encrypt-then-mac). Diese gelten als sicherer und ihre Verwendung wird empfohlen. Die unterstützten MACs sind:

hmac-md5
hmac-md5-96
hmac-sha1
hmac-sha1-96
hmac-sha2-256
hmac-sha2-512
umac-64@openssh.com
umac-128@openssh.com
hmac-md5-etm@openssh.com
hmac-md5-96-etm@openssh.com
hmac-sha1-etm@openssh.com
hmac-sha1-96-etm@openssh.com
hmac-sha2-256-etm@openssh.com
hmac-sha2-512-etm@openssh.com
umac-64-etm@openssh.com
umac-128-etm@openssh.com

Die Voreinstellung ist:

umac-64-etm@openssh.com,umac-128-etm@openssh.com,
hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,
hmac-sha1-etm@openssh.com,
umac-64@openssh.com,umac-128@openssh.com,
hmac-sha2-256,hmac-sha2-512,hmac-sha1

Die Liste der verfügbaren MAC-Algorithmen kann auch mit "ssh -Q mac" abgerufen werden.

Match Führt einen bedingten Block ein. Wenn alle Kriterien in der Match-Zeile erfüllt sind, überschreiben die Schlüsselwörter in den folgenden Zeilen die im globalen Abschnitt der Konfigurationsdatei festgelegten, bis entweder eine weitere Match-Zeile oder das Ende der Datei erreicht ist. Wenn ein Schlüsselwort in mehreren Übereinstimmungsblöcken vorkommt, die erfüllt sind, wird nur die erste Instanz des Schlüsselworts angewendet.

Die Argumente für Match sind ein oder mehrere Kriterien-Muster-Paare oder das einzelne Token All, das mit allen Kriterien übereinstimmt. Die verfügbaren Kriterien sind User, Group, Host, LocalAddress, LocalPort, RDomain und Address (wobei RDomain die RDomain darstellt, auf der die Verbindung empfangen wurde).

Die Übereinstimmungsmuster können aus einzelnen Einträgen oder durch Kommas getrennten Listen bestehen und können die Wildcard- und Negationsoperatoren verwenden, die im Abschnitt PATTERNS von ssh_config beschrieben sind.

Die Muster in einem Adresskriterium können zusätzlich übereinstimmende Adressen im CIDR-Adress-/Maskenformat enthalten, wie z. B. 192.0.2.0/24 oder 2001:db8::/32. Beachten Sie, dass die bereitgestellte Maskenlänge mit der Adresse übereinstimmen muss - es ist ein Fehler, eine Maskenlänge anzugeben, die zu lang für die Adresse ist oder bei der Bits in diesem Host-Teil der Adresse gesetzt sind. Zum Beispiel 192.0.2.0/33 bzw. 192.0.2.0/8.

In den Zeilen nach einem Match-Schlüsselwort darf nur eine Teilmenge von Schlüsselwörtern verwendet werden. Verfügbare Schlüsselwörter sind:
AcceptEnv, AllowAgentForwarding, AllowGroups,
AllowStreamLocalForwarding, AllowTcpForwarding, AllowUsers,
AuthenticationMethods, AuthorizedKeysCommand,
AuthorizedKeysCommandUser, AuthorizedKeysFile,
AuthorizedPrincipalsCommand,
AuthorizedPrincipalsCommandUser, AuthorizedPrincipalsFile,
Banner, ChrootDirectory, ClientAliveCountMax,
ClientAliveInterval, DenyGroups, DenyUsers,
DisableForwarding, ForceCommand, GatewayPorts,
GSSAPIAuthentication, HostbasedAcceptedAlgorithms,
HostbasedAuthentication, HostbasedUsesNameFromPacketOnly,
IgnoreRhosts, Include, IPQoS, KbdInteractiveAuthentication,
KerberosAuthentication, LogLevel, MaxAuthTries,
MaxSessions, PasswordAuthentication, PermitEmptyPasswords,
PermitListen, PermitOpen, PermitRootLogin, PermitTTY,
PermitTunnel, PermitUserRC, PubkeyAcceptedAlgorithms,
PubkeyAuthentication, RekeyLimit, RevokedKeys, RDomain,
SetEnv, StreamLocalBindMask, StreamLocalBindUnlink,
TrustedUserCAKeys, X11DisplayOffset, X11Forwarding and X11UseLocalhost.

MaxAuthTries
Gibt die maximal zulässige Anzahl von Authentifizierungsversuchen pro Verbindung an. Sobald die Anzahl der Fehler die Hälfte dieses Werts erreicht, werden weitere Fehler protokolliert. Der Standardwert ist 6.

MaxSessions
Gibt die maximale Anzahl von Sitzungen mit offener Shell, Anmeldung oder Subsystem (z. B. sftp) an, die pro Netzwerkverbindung zulässig sind. Mehrere Sitzungen können von Clients eingerichtet werden, die Verbindungsmultiplexing unterstützen. Wenn Sie MaxSessions auf 1 setzen, wird das Sitzungsmultiplexing effektiv deaktiviert, während das Setzen auf 0 alle Shell-, Anmelde- und Subsystemsitzungen verhindert, während die Weiterleitung weiterhin zulässig ist. Der Standardwert ist 10.

MaxStartups
Gibt die maximale Anzahl gleichzeitiger nicht authentifizierter Verbindungen zum SSH-Daemon an. Zusätzliche Verbindungen werden verworfen, bis die Authentifizierung erfolgreich ist oder die LoginGraceTime für eine Verbindung abläuft. Der Standardwert ist 10:30:100.

Alternativ kann das zufällige vorzeitige Ablegen aktiviert werden, indem die drei durch Doppelpunkte getrennten Werte start:rate:full (z. B. "10:30:60") angegeben werden. sshd lehnt Verbindungsversuche mit einer Wahrscheinlichkeit von Rate/100 (30 %) ab, wenn derzeit nicht authentifizierte Verbindungen gestartet werden. Die Wahrscheinlichkeit ts wird abgelehnt, wenn die Anzahl nicht authentifizierter Verbindungen voll ist.

ModuliFile
Gibt die Moduldatei an, die die Diffie-Hellman-Gruppen enthält, die für die Schlüsselaustauschmethoden „diffie-hellman-group-exchange-sha1“ und „diffie-hellman-group-exchange-sha256“ verwendet werden. Der Standardwert ist /etc/moduli.

PasswordAuthentication
Gibt an, ob die Kennwortauthentifizierung zulässig ist. Die Voreinstellung ist yes.

PermitEmptyPasswords
Wenn die Kennwortauthentifizierung zulässig ist, wird angegeben, ob der Server die Anmeldung bei Konten mit leeren Kennwortzeichenfolgen zulässt. Die Voreinstellung ist no.

PermitListen
Gibt die Adressen/Ports an, auf denen eine Remote-TCP-Portweiterleitung lauschen darf. Die Listen-Spezifikation muss eine der folgenden Formen haben:

PermitListen port
PermitListen host:port

Mehrere Berechtigungen können angegeben werden, indem sie durch Leerzeichen getrennt werden. Ein Argument von any kann verwendet werden, um alle Beschränkungen aufzuheben und alle Listen-Anforderungen zuzulassen. Ein Argument von none kann verwendet werden, um alle Listen-Anforderungen zu verbieten. Der Hostname kann Platzhalter enthalten, wie im Abschnitt PATTERNS in ssh_config beschrieben. Anstelle einer Portnummer kann auch der Platzhalter „*“ verwendet werden, um alle Ports zuzulassen. Standardmäßig sind alle Port-Forwarding-Listen-Requests erlaubt. Beachten Sie, dass die GatewayPorts-Option weiter einschränken kann, welche Adressen abgehört werden können. Beachten Sie auch, dass ssh einen Listen-Host von „localhost“ anfordert, wenn kein Listen-Host ausdrücklich angefordert wurde, und dieser Name anders behandelt wird als explizite localhost-Adressen von „127.0.0.1“ und „::1“.

PermitOpen
Gibt die Ziele an, zu denen die TCP-Portweiterleitung zulässig ist. Die Weiterleitungsspezifikation muss eine der folgenden Formen haben:

PermitOpen host:port
PermitOpen IPv4_addr:port
PermitOpen [IPv6_addr]:port

Es können mehrere Weiterleitungen angegeben werden, indem sie mit dem Argument „any“ getrennt werden, um alle Einschränkungen aufzuheben und alle Weiterleitungsanforderungen zuzulassen. Ein Argument von none kann verwendet werden, um alle Weiterleitungsanforderungen zu verbieten. Der Platzhalter „*“ kann für Host oder Port verwendet werden, um alle Hosts bzw. Ports zuzulassen. Andernfalls werden keine Musterabgleiche oder Adresssuchen für bereitgestellte Namen durchgeführt. Standardmäßig sind alle Portweiterleitungsanfragen erlaubt.

PermitRootLogin
Gibt an, ob sich root mit ssh anmelden kann. Das Argument muss sein yes, prohibit-password,forced-commands-only, oder no. Die Voreinstellung ist prohibit-password.

Wenn diese Option auf prohibit-password (oder seinen veralteten Alias, without-password) gesetzt ist, sind Passwort und tastaturinteraktive Authentifizierung für root deaktiviert.

Wenn diese Option auf „forced-commands-only“ gesetzt ist, wird die Root-Anmeldung mit Public-Key-Authentifizierung erlaubt, aber nur, wenn die Befehlsoption angegeben wurde (was nützlich sein kann, um Remote-Backups zu erstellen, selbst wenn die Root-Anmeldung normalerweise nicht erlaubt ist). Alle anderen Authentifizierungsmethoden sind für root deaktiviert.

Wenn diese Option auf no gesetzt ist, darf sich root nicht anmelden.

PermitTTY
Gibt an, ob die pty-Zuweisung zulässig ist. Die Voreinstellung ist yes.

PermitTunnel
Gibt an, ob die tun-Geräteweiterleitung zulässig ist. Das Argument muss yes, Punkt-zu-Punkt (Schicht 3), Ethernet (Schicht 2) oder no lauten. Die Angabe von yes lässt sowohl Punkt-zu-Punkt als auch Ethernet zu. Die Voreinstellung ist no.

Unabhängig von dieser Einstellung müssen die Berechtigungen des ausgewählten tun-Geräts dem Benutzer Zugriff gewähren.

PermitUserEnvironment
Gibt an, ob ~/./environment und environment=options in ~/./authorized_keys von sshd verarbeitet werden. Gültige Optionen sind yes, no oder eine Musterliste, die angibt, welche Umgebungsvariablennamen akzeptiert werden sollen (z. B. "LANG,LC_*"). Die Voreinstellung ist no. Das Aktivieren der Umgebungsverarbeitung kann es Benutzern ermöglichen, Zugriffsbeschränkungen in einigen Konfigurationen mithilfe von Mechanismen wie LD_PRELOAD zu umgehen.

PermitUserRC
Gibt an, ob eine ~/./rc-Datei ausgeführt wird. Die Voreinstellung ist yes.

PerSourceMaxStartups
Gibt die Anzahl der nicht authentifizierten Verbindungen an, die von einer bestimmten Quelladresse zulässig sind, oder „keine“, wenn es keine Begrenzung gibt. Dieses Limit wird zusätzlich zu MaxStartups angewendet, je nachdem, welcher Wert niedriger ist. Die Voreinstellung ist none.

PerSourceNetBlockSize
Gibt die Anzahl der Bits der Quelladresse an, die zum Zweck der Anwendung von PerSourceMaxStartups-Limits gruppiert werden. Werte für IPv4 und optional IPv6 können durch einen Doppelpunkt getrennt angegeben werden. Der Standardwert ist 32:128, was bedeutet, dass jede Adresse einzeln betrachtet wird.

PidFile
Gibt die Datei an, die die Prozess-ID des SSH-Daemons enthält, oder none, um keine zu schreiben. Die Voreinstellung ist /var/run/sshd.pid.

Port Gibt die Portnummer an, auf der sshd lauscht. Der Standardwert ist 22. Mehrere Optionen dieses Typs sind zulässig. Siehe auch ListenAddress.

PrintLastLog
Gibt an, ob sshd Datum und Uhrzeit der letzten Benutzeranmeldung drucken soll, wenn sich ein Benutzer interaktiv anmeldet. Die Voreinstellung ist yes.

PrintMotd
Gibt an, ob sshd /etc/motd ausgeben soll, wenn sich ein Benutzer interaktiv anmeldet. (Auf einigen Systemen wird es auch von der Shell, /etc/profile oder Äquivalenten ausgegeben.) Der Standardwert ist yes.

PubkeyAcceptedAlgorithms
Gibt die Signaturalgorithmen an, die für die Public-Key-Authentifizierung als Liste von durch Kommas getrennten Mustern akzeptiert werden. Wenn die angegebene Liste alternativ mit einem „+“-Zeichen beginnt, werden die angegebenen Algorithmen an den Standardsatz angehängt, anstatt sie zu ersetzen. Wenn die angegebene Liste mit einem „-“-Zeichen beginnt, werden die angegebenen Algorithmen (einschließlich Platzhalter) aus dem Standardsatz entfernt, anstatt sie zu ersetzen. Wenn die angegebene Liste mit einem „^“-Zeichen beginnt, werden die angegebenen Algorithmen an den Anfang des Standardsatzes gesetzt. Die Voreinstellung für diese Option ist:

ssh-ed25519-cert-v01@openssh.com,
ecdsa-sha2-nistp256-cert-v01@openssh.com,
ecdsa-sha2-nistp384-cert-v01@openssh.com,
ecdsa-sha2-nistp521-cert-v01@openssh.com,
sk-ssh-ed25519-cert-v01@openssh.com,
sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
rsa-sha2-512-cert-v01@openssh.com,
rsa-sha2-256-cert-v01@openssh.com,
ssh-rsa-cert-v01@openssh.com,
ssh-ed25519,
ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
sk-ssh-ed25519@openssh.com,
sk-ecdsa-sha2-nistp256@openssh.com,
rsa-sha2-512,rsa-sha2-256,ssh-rsa

Die Liste der verfügbaren Signaturalgorithmen kann auch mit "ssh -Q PubkeyAcceptedAlgorithms" abgerufen werden.

PubkeyAuthOptions
Legt eine oder mehrere Public-Key-Authentifizierungsoptionen fest. Die unterstützten Schlüsselwörter sind: none (der Standard; zeigt an, dass keine zusätzlichen Optionen aktiviert sind), touch-required und verify-required.

Die berührungserforderliche Option bewirkt, dass die Authentifizierung mit öffentlichem Schlüssel unter Verwendung eines FIDO-Authentifikatoralgorithmus (d. h. ecdsa-sk oder ed25519-sk) immer die Signatur erfordert, um zu bestätigen, dass ein physisch anwesender Benutzer die Authentifizierung ausdrücklich bestätigt hat (normalerweise durch Berühren des Authentifikators). Standardmäßig erfordert sshd die Anwesenheit des Benutzers, es sei denn, dies wird mit einer authorisierten_keys-Option überschrieben. Das Touch-Required-Flag deaktiviert diese Überschreibung. Die Option „verify-required“ erfordert eine FIDO-Schlüsselsignatur, die bestätigt, dass der Benutzer verifiziert wurde, z. über eine PIN.

Weder die berührungserforderlichen noch die verifizierungserforderlichen Optionen haben eine Auswirkung auf andere öffentliche Schlüsseltypen, die nicht FIDO sind.

PubkeyAuthentication
Gibt an, ob die Authentifizierung mit öffentlichem Schlüssel zulässig ist. Die Voreinstellung ist yes.

RekeyLimit
Gibt die maximale Datenmenge an, die übertragen werden darf, bevor der Sitzungsschlüssel neu ausgehandelt wird, optional gefolgt von einer maximalen Zeit, die vergehen darf, bevor der Sitzungsschlüssel neu ausgehandelt wird. Das erste Argument wird in Bytes angegeben und kann ein Suffix von „K“, „M“ oder „G“ haben, um Kilobytes, Megabytes bzw. Gigabytes anzugeben. Der Standardwert liegt je nach Chiffre zwischen „1G“ und „4G“. Der optionale zweite Wert wird in Sekunden angegeben und kann jede der im Abschnitt ZEITFORMATE dokumentierten Einheiten verwenden. Der Standardwert für RekeyLimit ist default none, dies bedeutet, dass die erneute Verschlüsselung durchgeführt wird, nachdem die Standarddatenmenge der Chiffre gesendet oder empfangen wurde und keine zeitbasierte erneute Verschlüsselung erfolgt.

RevokedKeys
Gibt die Datei mit widerrufenen öffentlichen Schlüsseln an, oder none, um keine zu verwenden. Die in dieser Datei aufgeführten Schlüssel werden für die Authentifizierung mit öffentlichen Schlüsseln abgelehnt. Beachten Sie, dass, wenn diese Datei nicht lesbar ist, die Public-Key-Authentifizierung für alle Benutzer abgelehnt wird. Schlüssel können als Textdatei angegeben werden, die einen öffentlichen Schlüssel pro Zeile auflistet, oder als OpenSSH Key Revocation List (KRL), wie sie von ssh-keygen generiert wird. Weitere Informationen zu KRLs finden Sie im Abschnitt KEY REVOCATION LISTS in ssh-keygen.

RDomain
Gibt eine explizite Routingdomäne an, die nach Abschluss der Authentifizierung angewendet wird. Die Benutzersitzung sowie alle weitergeleiteten oder abhörenden IP-Sockets werden an diese rdomain gebunden. Wenn die Routing-Domäne auf %D gesetzt ist, wird die Domäne verwendet, in der die eingehende Verbindung empfangen wurde.

SecurityKeyProvider
Gibt einen Pfad zu einer Bibliothek an, die beim Laden von vom FIDO-Authentifikator gehosteten Schlüsseln verwendet wird, wodurch die Standardeinstellung der Verwendung der integrierten USB-HID-Unterstützung außer Kraft gesetzt wird.

SetEnv Gibt eine oder mehrere Umgebungsvariablen an, die in untergeordneten Sitzungen festgelegt werden sollen, die von sshd als „NAME=VALUE“ gestartet werden. Der Umgebungswert darf in Anführungszeichen gesetzt werden (z. B. wenn er Leerzeichen enthält). Von SetEnv festgelegte Umgebungsvariablen überschreiben die Standardumgebung und alle vom Benutzer über AcceptEnv oder PermitUserEnvironment angegebenen Variablen.

StreamLocalBindMask
Legt die oktale Dateierstellungsmodusmaske (umask) fest, die verwendet wird, wenn eine Unix-Domain-Socket-Datei für die lokale oder entfernte Portweiterleitung erstellt wird. Diese Option wird nur für die Portweiterleitung an eine Unix-Domain-Socket-Datei verwendet.

Der Standardwert ist 0177, wodurch eine Unix-Domain-Socket-Datei erstellt wird, die nur vom Besitzer gelesen und geschrieben werden kann. Beachten Sie, dass nicht alle Betriebssysteme den Dateimodus für Unix-Domain-Socket-Dateien berücksichtigen.

StreamLocalBindUnlink
Gibt an, ob eine vorhandene Unix-Domain-Socket-Datei für die lokale oder entfernte Portweiterleitung entfernt werden soll, bevor eine neue erstellt wird. Wenn die Socket-Datei bereits existiert und StreamLocalBindUnlink nicht aktiviert ist, kann sshd den Port nicht an die Unix-Domain-Socket-Datei weiterleiten. Diese Option wird nur für die Portweiterleitung an eine Unix-Domain-Socket-Datei verwendet.

Das Argument muss yes oder no sein. Die Voreinstellung ist no.

StrictModes
Gibt an, ob sshd die Dateimodi und den Besitz der Dateien und des Home-Verzeichnisses des Benutzers überprüfen soll, bevor er die Anmeldung akzeptiert. Dies ist normalerweise wünschenswert, da Neulinge manchmal aus Versehen ihr Verzeichnis oder ihre Dateien für alle beschreibbar lassen. Die Voreinstellung ist yes. Beachten Sie, dass dies nicht für ChrootDirectory gilt, dessen Berechtigungen und Besitz bedingungslos überprüft werden.

Subsystem
Konfiguriert ein externes Subsystem (z. B. File Transfer Daemon). Argumente sollten ein Subsystemname und ein Befehl (mit optionalen Argumenten) sein, der auf Anfrage des Subsystems ausgeführt werden soll.

Der Befehl sftp-server implementiert das SFTP-Dateiübertragungssubsystem.

Alternativ implementiert der Name internal-sftp einen prozessinternen SFTP-Server. Dies kann Konfigurationen vereinfachen, die ChrootDirectory verwenden, um ein anderes Dateisystem-Root auf Clients zu erzwingen.

Standardmäßig sind keine Subsysteme definiert.

SyslogFacility
Gibt den Einrichtungscode an, der beim Protokollieren von Nachrichten von sshd verwendet wird. Die möglichen Werte sind: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. The default is AUTH.

TCPKeepAlive
Gibt an, ob das System TCP-Keepalive-Nachrichten an die andere Seite senden soll. Wenn sie gesendet werden, wird ein Verbindungsabbruch oder ein Absturz einer der Maschinen richtig bemerkt. Dies bedeutet jedoch, dass Verbindungen abbrechen, wenn die Route vorübergehend ausfällt, und manche Leute finden es nervig. Wenn andererseits TCP-Keepalives nicht gesendet werden, können Sitzungen auf unbestimmte Zeit auf dem Server hängen bleiben, "Geister"-Benutzer zurücklassen und Serverressourcen verbrauchen.

Der Standardwert ist yes (um TCP-Keepalive-Meldungen zu senden), und der Server wird bemerken, wenn das Netzwerk ausfällt oder der Client-Host abstürzt. Dies vermeidet endlos hängende Sitzungen.

Um TCP-Keepalive-Meldungen zu deaktivieren, sollte der Wert auf gesetzt werden no.

TrustedUserCAKeys
Gibt eine Datei an, die öffentliche Schlüssel von Zertifizierungsstellen enthält, denen vertraut wird, dass sie Benutzerzertifikate für die Authentifizierung signieren, oder none, um keines zu verwenden. Schlüssel werden einzeln pro Zeile aufgelistet; Leerzeilen und Kommentare, die mit „#“ beginnen, sind erlaubt. Wenn ein Zertifikat zur Authentifizierung vorgelegt wird und dessen signierender CA-Schlüssel in dieser Datei aufgeführt ist, kann es zur Authentifizierung für jeden Benutzer verwendet werden, der in der Prinzipalliste des Zertifikats aufgeführt ist. Beachten Sie, dass Zertifikate ohne Prinzipalliste nicht für die Authentifizierung mit TrustedUserCAKeys zugelassen werden. Weitere Einzelheiten zu Zertifikaten finden Sie im Abschnitt CERTIFICATES in ssh-keygen.

UseDNS Gibt an, ob sshd(8) den entfernten Hostnamen nachschlagen und prüfen soll, ob der aufgelöste Hostname für die entfernte IP-Adresse auf dieselbe IP-Adresse zurückgeführt wird.

Wenn diese Option auf no (Standardeinstellung) gesetzt ist, können nur Adressen und keine Hostnamen in den Anweisungen ~/./authorized_keys from und sshd_config Match Host verwendet werden.

UsePAM Aktiviert die Pluggable Authentifizierung Module-Schnittstelle. Wenn auf yes gesetzt, wird die PAM-Authentifizierung mit KbdInteractiveAuthentication und PasswordAuthentication zusätzlich zur Verarbeitung von PAM-Konten und Sitzungsmodulen für alle Authentifizierungstypen aktiviert.

Da die tastaturinteraktive PAM-Authentifizierung normalerweise eine gleichwertige Rolle wie die Kennwortauthentifizierung spielt, sollten Sie entweder PasswordAuthentication oder KbdInteractiveAuthentication deaktivieren.

Wenn UsePAM aktiviert ist, können Sie sshd nicht als Nicht-Root-Benutzer ausführen. Die Voreinstellung ist no.

VersionAddendum
Gibt optional zusätzlichen Text an, der an das SSH-Protokollbanner angehängt werden soll, das vom Server bei der Verbindung gesendet wird. Die Voreinstellung ist none.

X11DisplayOffset
Gibt die erste Anzeigenummer an, die für die X11-Weiterleitung von sshd verfügbar ist. Dies verhindert, dass sshd echte X11-Server stört. Der Standardwert ist 10.

X11Forwarding
Gibt an, ob X11-Forwarding erlaubt ist. Das Argument muss sein yes oder no. Die Voreinstellung ist no.

Wenn die X11-Weiterleitung aktiviert ist, kann es zu einer zusätzlichen Gefährdung des Servers und der Client-Anzeigen kommen, wenn die sshd-Proxy-Anzeige so konfiguriert ist, dass sie die Wildcard-Adresse abhört (siehe X11UseLocalhost), obwohl dies nicht die Standardeinstellung ist. Zusätzlich erfolgen das Authentifizierungs-Spoofing und die Überprüfung und Ersetzung von Authentifizierungsdaten auf der Client-Seite. Das Sicherheitsrisiko bei der Verwendung von X11-Weiterleitung besteht darin, dass der X11-Anzeigeserver des Clients Angriffen ausgesetzt sein könnte, wenn der SSH-Client eine Weiterleitung anfordert (siehe die Warnungen für ForwardX11 in ssh_config(5)). Ein Systemadministrator möchte möglicherweise Clients schützen, die sich einem Angriff aussetzen, indem sie unwissentlich eine X11-Weiterleitung anfordern, was eine no-Einstellung rechtfertigen kann.

Beachten Sie, dass das Deaktivieren der X11-Weiterleitung Benutzer nicht daran hindert, X11-Verkehr weiterzuleiten, da Benutzer immer ihre eigenen Weiterleitungen installieren können.

X11UseLocalhost
Gibt an, ob sshd den X11-Weiterleitungsserver an die Loopback-Adresse oder an die Wildcard-Adresse binden soll. Standardmäßig bindet sshd den Weiterleitungsserver an die Oopback-Adresse und setzt den Hostnamen-Teil der Umgebungsvariable DISPLAY auf localhost. Dadurch wird verhindert, dass sich entfernte Hosts mit der Proxy-Anzeige verbinden. Einige ältere X11-Clients funktionieren jedoch möglicherweise nicht mit dieser Konfiguration. X11UseLocalhost kann auf no gesetzt werden, um anzugeben, dass der Weiterleitungsserver an die Platzhalteradresse gebunden werden soll. Das Argument muss yes oder no sein. Die Voreinstellung ist yes.

XAuthLocation
Gibt den vollständigen Pfadnamen des xauth-Programms oder none an, um keinen zu verwenden. Die Voreinstellung ist /usr/X11R6/bin/xauth.
TIME FORMATS
sshd-Befehlszeilenargumente und Konfigurationsdateioptionen, die die Zeit angeben, können mit einer Sequenz der Form ausgedrückt werden: time[qualifier], wobei time ein positiver ganzzahliger Wert und Qualifier einer der folgenden ist:

⟨none⟩ sekunden
s | S sekunden
m | M minuten
h | H stunden
d | D tage
w | W wochen

Jedes Mitglied der Sequenz wird addiert, um den Gesamtzeitwert zu berechnen.

Beispiele für Zeitformate:

600 600 sekunden (10 minuten)
10m 10 minuten
1h30m 1 stunde 30 minuten (90 minuten)
TOKENS
Argumente für einige Schlüsselwörter können Token verwenden, die zur Laufzeit erweitert werden:

%% Ein Wort ‘%’.
%D Die Routingdomäne, in der die eingehende Verbindung empfangen wurde.
%F Der Fingerabdruck des CA-Schlüssels.
%f Der Fingerabdruck des Schlüssels oder Zertifikats.
%h Das Home-Verzeichnis des Benutzers.
%i Die Schlüssel-ID im Zertifikat.
%K Der base64-codierte CA-Schlüssel.
%k Der base64-codierte Schlüssel oder das Zertifikat für die Authentifizierung.
%s Die Seriennummer des Zertifikats.
%T Der Typ des CA-Schlüssels.
%t Der Schlüssel- oder Zertifikatstyp.
%U Die numerische Benutzer-ID des Zielbenutzers.
%u Der Benutzername.

AuthorizedKeysCommand akzeptiert die Token %%, %f, %h, %k, %t, %U,
and %u.

AuthorizedKeysFile akzeptiert die tokens %%, %h, %U, und %u.

AuthorizedPrincipalsCommand akzeptiert die tokens %%, %F, %f, %h, %i,
%K, %k, %s, %T, %t, %U, and %u.

AuthorizedPrincipalsFile akzeptiert die tokens %%, %h, %U, and %u.

ChrootDirectory akzeptiert die tokens %%, %h, %U, and %u.

RoutingDomain akzeptiert die tokens %D.
FILES
/etc//sshd_config
Enthält Konfigurationsdaten für sshd. Diese Datei sollte nur von root beschreibbar sein, aber es wird empfohlen (obwohl es nicht notwendig ist), dass sie weltweit lesbar ist.
AUTOREN
OpenSSH ist ein Derivat der ursprünglichen und kostenlosen ssh 1.2.12-Veröffentlichung von Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt und Dug Song haben viele Fehler entfernt, neuere Features wieder hinzugefügt und OpenSSH erstellt. Markus Friedl steuerte die Unterstützung für die SSH-Protokollversionen 1.5 und 2.0 bei. Niels Provos und Markus Friedl trugen zur Unterstützung der Privilegientrennung bei.
COLOPHON
Diese Seite ist Teil des Projekts openssh (Portable OpenSSH). Informationen über das Projekt finden Sie unter http://www.openssh.com/portable.html. Wenn Sie einen Fehlerbericht für diese Handbuchseite haben, sehen Sie unter ⟨http://www.openssh.com/report.html⟩ nach. Diese Seite wurde aus dem Tarball openssh-8.7p1.tar.gz abgerufen, das am 27.08.2021 von ⟨http://ftp.eu.openbsd.org/pub/OpenBSD/OpenSSH/portable/⟩ abgerufen wurde. Wenn Sie Darstellungsprobleme in dieser HTML-Version der Seite entdecken, oder Sie glauben, dass es eine bessere oder aktuellere Quelle für die Seite gibt, oder wenn Sie Korrekturen oder Verbesserungen an den Informationen in diesem COLOPHON (das nicht Teil der ursprünglichen Handbuchseite), senden Sie eine E-Mail an man-pages@man7.org

August 12, 2021

Mehr Videos findet man auf meinem Youtube Kanal linuxcoach:
https://www.youtube.com/@linuxcoach

Ein weiterer Interessanter Artikel  zu diesem Thema:
https://computer-experte.ch/manuelle-partitionierung-fuer-linux/

sshd_config handbuch deutsch