SSHD_CONFIG(5) | File Formats Manual | SSHD_CONFIG(5) |
sshd_config
—
OpenSSH-Daemon-Konfigurationsdatei
sshd(8) liest Konfigurationsdaten aus
/etc/ssh/sshd_config (oder der mit
-f
auf der Befehlszeile angegebenen Datei). Die
Datei enthält Schlüsselwort-Argumente-Paare, eines pro Zeile.
Falls nicht anders angemerkt wird für jedes Schlüsselwort das
erste erlangte verwandt. Zeilen, die mit
‘#
’ beginnen und leere Zeilen werden
als Kommentare interpretiert. Argumente können optional in doppelte
Anführungszeichen (") eingeschlossen werden, um Argumente
darzustellen, die Leerzeichen enthalten.
Beachten Sie, dass das Debian-Paket
openssh-server
eine Reihe von Optionen als Vorgabe
in /etc/ssh/sshd_config setzt, die in
sshd(8) nicht die Vorgabe sind:
Include
/etc/ssh/sshd_config.d/*.conf
KbdInteractiveAuthentication
noX11Forwarding
yesPrintMotd
noAcceptEnv
LANG LC_*Subsystem
sftp /usr/lib/openssh/sftp-serverUsePAM
yesDie Dateien /etc/ssh/sshd_config.d/*.conf werden am Anfang der Konfigurationsdatei eingebunden, daher werden die dort gesetzten Optionen die in /etc/ssh/sshd_config außer Kraft setzen.
Die möglichen Schlüsselwörter und ihre Bedeutung sind wie folgt (beachten Sie, dass die Groß-/Kleinschreibung bei Schlüsselwörtern egal, bei Argumenten dagegen relevant ist):
AcceptEnv
SendEnv
und SetEnv
in
ssh_config(5) für die Konfiguration des Clients.
Die Umgebungsvariable TERM
wird immer akzeptiert,
wenn der Client ein Pseudo-Terminal anfordert, da sie vom Protokoll
gefordert wird. Variablen werden durch den Namen, der Platzhalterzeichen
‘*
’ und
‘?
’ enthalten darf, festgelegt.
Mehrere Umgebungsvariablen können durch Leerraum getrennt oder auf
mehrere AcceptEnv
-Direktiven verteilt werden.
Warnung: Einige Umgebungsvariablen können zur Umgehung
eingeschränkter Benutzerumgebungen verwandt werden. Daher sollten
Sie beim Einsatz dieser Direktive vorsichtig sein.
Standardmäßig werden keine Umgebungsvariablen
akzeptiert.AddressFamily
any
(die Vorgabe),
inet
(nur IPv4 verwenden) und
inet6
(nur IPv6 verwenden).AllowAgentForwarding
yes
. Beachten Sie, dass die
Deaktivierung von Vermittlerweiterleitung die Sicherheit nicht verbessert,
außer der Shell-Zugriff wird auch verboten, da die Benutzer stets
ihre eigenen Weiterleitungsprogramme installieren können.AllowGroups
DenyGroups
,
AllowGroups
.
Siehe MUSTER in ssh_config(5) für
weitere Informationen über Muster. Dieses Schlüsselwort
darf in sshd_config
mehrfach auftauchen, wobei
jede Instanz an die Liste anhängt wird.
AllowStreamLocalForwarding
yes
(die
Vorgabe), all
(um StreamLocal-Weiterleitung zu
erlauben), no
(um alle StreamLocal-Weiterleitungen
zu verhindern), local
(um nur lokale (aus Sicht
von ssh(1)) Weiterleitung zu erlauben) und
remote
(um nur ferne Weiterleitung zu erlauben).
Beachten Sie, dass die Deaktivierung von StreamLocal-Weiterleitung die
Sicherheit nicht verbessert, außer der Shell-Zugriff wird auch
verboten, da die Benutzer stets ihre eigenen Weiterleitungsprogramme
installieren können.AllowTcpForwarding
yes
(die Vorgabe),
all
(um TCP-Weiterleitung zu erlauben),
no
(um alle TCP-Weiterleitungen zu verhindern),
local
(um nur lokale (aus Sicht von
ssh(1)) Weiterleitung zu erlauben) und
remote
(um nur ferne Weiterleitung zu erlauben).
Beachten Sie, dass die Deaktivierung von TCP-Weiterleitung die Sicherheit
nicht verbessert, außer der Shell-Zugriff wird auch verboten, da
die Benutzer stets ihre eigenen Weiterleitungsprogramme installieren
können.AllowUsers
DenyUsers
,
AllowUsers
.
Siehe MUSTER in ssh_config(5) für
weitere Informationen über Muster. Dieses Schlüsselwort
darf in sshd_config
mehrfach auftauchen, wobei
jede Instanz an die Liste anhängt wird.
AuthenticationMethods
any
folgen. any
gibt das
Standardverhalten an, dass jede einzelne Authentifizierungsmethode
akzeptiert wird. Falls die Vorgabe außer Kraft gesetzt wird,
verlangt die erfolgreiche Authentifizierung den Abschluss jeder Methode in
mindestens einer dieser Listen.
Beispielsweise würde "publickey,password publickey,keyboard-interactive" verlangen, dass der Benutzer die Authentifizierung mittels asymmetrischem Schlüssel, gefolgt von entweder der Passwort- oder der interaktiven Tastaturauthentifizierung abschließt. Es werden in jeder Stufe nur die Methoden angeboten, die in einer der Listen nebeneinander sind, daher wäre es in diesem Beispiel nicht möglich, die Passwort- oder interaktive Tastaturauthentifizierung vor der asymmetrischen Schlüsselauthentifizierung zu versuchen.
Für interaktive Tastaturauthentifizierung ist es auch
möglich, die Authentifizierung auf ein bestimmtes Gerät zu
beschränken, indem ein Doppelpunkt gefolgt von dem
Gerätekennzeichner bsdauth
oder
pam
, abhängig von der
Server-Konfiguration, angegeben wird. Beispielsweise würde
"keyboard-interactive:bsdauth" die interaktive
Tastaturauthentifizierung auf das Gerät
bsdauth
beschränken.
Falls die Methode »publickey« mehr als einmal aufgeführt ist, dann stellt sshd(8) sicher, dass erfolgreich verwandte Schlüssel nicht erneut für nachfolgende Authentifizierungen verwandt werden. Beispielsweise verlangt "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.
Folgende Authentifizierungsmethoden sind verfügbar:
"gssapi-with-mic", "hostbased",
"keyboard-interactive", "none" (wird zum Zugriff auf
Konten ohne Passwort verwandt, wenn
PermitEmptyPasswords
aktiviert ist),
"password" und "publickey".
AuthorizedKeysCommand
AuthorizedKeysCommand
akzeptiert als Argumente die
im Abschnitt MERKMALE beschriebenen
Merkmale. Falls keine Argumente festgelegt sind, dann wird der
Benutzername des Zielbenutzers verwandt.
Das Programm sollte auf der Standardausgabe keine oder mehrere
Zeilen von autorisierter-Schlüssel-Ausgabe erzeugen (siehe
AUTORISIERTE
SCHLÜSSEL in sshd(8)).
AuthorizedKeysCommand
wird nach den
gewöhnlichen Dateien aus
AuthorizedKeysFile
versucht und wird nicht
ausgeführt, falls dort bereits ein passender Schlüssel
gefunden wurde. Standardmäßig wird kein
AuthorizedKeysCommand
ausgeführt.
AuthorizedKeysCommandUser
AuthorizedKeysCommand
ausgeführt wird. Es
wird empfohlen, einen dedizierten Benutzer zu verwenden, der keine weitere
Aufgabe auf dem System hat, außer die
autorisierte-Schlüssel-Befehle auszuführen. Falls
AuthorizedKeysCommand
, aber nicht
AuthorizedKeysCommandUser
festgelegt ist, wird
sshd(8) den Start verweigern.AuthorizedKeysFile
AuthorizedKeysFile
akzeptiert die im
Abschnitt MERKMALE beschriebenen
Merkmale. Nach der Expandierung wird
AuthorizedKeysFile
als absoluter Pfad oder als
relativ zum Home-Verzeichnis des Benutzers eingesetzt. Es können
mehrere, durch Leerraum getrennte Dateien aufgeführt werden. Diese
Option kann alternativ auch auf none
gesetzt
werden, um die Überprüfung von
Benutzerschlüsseldateien zu überspringen. Die Vorgabe ist
".ssh/authorized_keys .ssh/authorized_keys2".AuthorizedPrincipalsCommand
AuthorizedPrincipalsFile
verwandt wird. Das
Programm muss root gehören, darf von der Gruppe und anderen nicht
schreibbar sein und muss durch einen absoluten Pfad festgelegt werden.
AuthorizedPrincipalsCommand
akzeptiert die im
Abschnitt MERKMALE beschriebenen
Merkmale. Falls keine Argumente festgelegt sind, wird der Benutzername des
Zielbenutzers verwandt.
Das Programm sollte auf der Standardausgabe keine oder mehrere
Zeilen von AuthorizedPrincipalsFile
-Ausgabe
erzeugen. Falls entweder
AuthorizedPrincipalsCommand
oder
AuthorizedPrincipalsFile
festgelegt ist, dann
müssen die vom Client angebotenen Zertifikate für die
Authentifizierung einen der aufgeführten Prinzipalen enthalten.
Standardmäßig wird kein
AuthorizedPrincipalsCommand
ausgeführt.
AuthorizedPrincipalsCommandUser
AuthorizedPrincipalsCommand
ausgeführt
wird. Es wird empfohlen, einen dedizierten Benutzer zu verwenden, der
keine weitere Aufgabe auf dem System hat, außer die
»authorized principals«-Befehle auszuführen. Falls
AuthorizedPrincipalsCommand
, aber nicht
AuthorizedPrincipalsCommandUser
festgelegt ist,
wird sshd(8) den Start verweigern.AuthorizedPrincipalsFile
TrustedUserCAKeys
aufgeführten
Schlüssel signiert wird, dann führt diese Datei Namen auf,
von denen einer im Zertifikat auftauchen muss, damit es für die
Authentifizierung akzeptiert wird. Es wird ein Name pro Zeile
aufgeführt, davor können Schlüsseloptionen (wie in
AUTHORIZED_KEYS-DATEIFORMAT
in sshd(8) beschrieben) angegeben werden. Leere Zeilen
und Kommentare, die mit ‘#
’
beginnen, werden ignoriert.
AuthorizedPrincipalsFile
akzeptiert
die im Abschnitt MERKMALE
beschriebenen Merkmale. Nach der Expandierung wird
AuthorizedPrincipalsFile
als absoluter Pfad oder
als relativ zum Home-Verzeichnis des Benutzers eingesetzt. Die Vorgabe
ist none
, d.h. keine Verwendung einer
Prinzipalendatei – in diesem Fall muss der Benutzername des
Benutzers in der Prinzipalenliste in einem Zertifikat auftauchen, damit
dieses akzeptiert wird.
Beachten Sie, dass
AuthorizedPrincipalsFile
nur verwandt wird, wenn
die Authentifizierung mittels einer in
TrustedUserCAKeys
aufgeführten CA
durchgeführt wird und diese Datei wird nicht für mittels
~/.ssh/authorized_keys vertrauten
Zertifizierungsstellen berücksichtigt. Allerdings stellt die
Schlüsseloption principals=
eine
ähnliche Einrichtung bereit (siehe sshd(8)
für Details).
Banner
none
lautet, wird kein Spruchtext angezeigt.
Standardmäßig wird kein Spruchtext angezeigt.CASignatureAlgorithms
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
Falls die festgelegte Liste mit einem »+«-Zeichen beginnt, werden die festgelegten Algorithmen an die Vorgabemenge angehängt, statt sie zu ersetzen. Falls die festgelegte Liste mit einem »-«-Zeichen beginnt, dann werden die festgelegten Algorithmen (einschließlich Platzhalter-Zeichen) aus der Vorgabemenge entfernt, statt sie zu ersetzen.
Zertifikate, die mit anderen Algorithmen signiert wurden, werden für asymmetrische oder Rechner-basierte Authentifizierung nicht akzeptiert.
ChannelTimeout
Der Zeitüberschreitungswert »Intervall« wird in Sekunden festgelegt oder kann eine der im Abschnitt ZEITFORMATE beschriebenen Einheiten verwenden. Beispielsweise würde »session:*=5m« dazu führen, dass alle Sitzungen nach 5 Minuten Inaktivität beendet würden. Durch Festlegen eines Null-Wertes wird die Inaktivitätszeitüberschreitung deaktiviert.
Die verfügbaren Kanaltypen sind:
agent-connection
direct-tcpip
,
direct-streamlocal@openssh.com
LocalForward
oder
DynamicForward
.forwarded-tcpip
,
forwarded-streamlocal@openssh.com
RemoteForward
, auf Anfragen wartet.session:command
session:shell
session:subsystem:…
session:subsystem:sftp
identifiziert werden
könnten.x11-connection
Beachten Sie, dass in allen obigen Fällen die Beendigung einer aktiven Sitzung nicht garantiert, dass alle der Sitzung zugeordneten Ressourcen entfernt werden, z.B. könnten Shell-Prozesse oder X11-Clients, die Bezug zur Sitzung haben, weiterhin ausgeführt werden.
Desweiteren schließt das Beenden eines inaktiven Kanals
oder Sitzung nicht notwendigerweise die SSH-Verbindung, noch verhindert
sie einen Client, einen anderen Kanal des gleichen Typs zu erbitten.
Insbesondere verhindert das Ablaufen einer inaktiven
Weiterleitungssitzung nicht, dass andere, identische Weiterleitungen
nachfolgend erstellt werden. Siehe auch
UnusedConnectionTimeout
, das zusammen mit dieser
Option verwandt werden kann.
Standardmäßig verfällt kein Kanal irgendeiner Art aufgrund von Inaktivität.
ChrootDirectory
ChrootDirectory
akzeptieren die im Abschnitt
MERKMALE beschriebenen Merkmale.
Das ChrootDirectory
muss die
notwendigen Dateien und Verzeichnisse zur Unterstützung der
Sitzung des Benutzers enthalten. Für eine interaktive Sitzung
benötigt dies mindestens eine Shell, typischerweise
sh(1) und grundlegende /dev
-Knoten wie null(4), zero(4),
stdin(4), stdout(4),
stderr(4) und tty(4) -Geräte.
Für Dateiübertragungssitzungen mittels SFTP ist für
die Umgebung keine zusätzliche Konfiguration notwendig, falls der
In-Prozess-SFTP-Server verwandt wird, allerdings könnten
Sitzungen, die Protokollierung verwenden,
/dev/log auf einigen Betriebssystemen innerhalb
des Chroot-Verzeichnisses benötigen (siehe
sftp-server(8) für Details).
Zur Sicherheit ist es sehr wichtig, dass die Veränderungen an der Verzeichnishierarchie durch andere Prozesse auf dem System (insbesondere außerhalb des Jails) verhindert werden. Fehlerhafte Konfiguration kann zu unsicheren Umgebungen führen, die sshd(8) nicht erkennen kann.
Die Vorgabe ist none
, was anzeigt,
kein chroot(2) durchzuführen.
Ciphers
Die unterstützten Chiffren sind:
Die Vorgabe ist:
chacha20-poly1305@openssh.com, aes128-ctr,aes192-ctr,aes256-ctr, aes128-gcm@openssh.com,aes256-gcm@openssh.com
Die Liste der verfügbaren Chiffen kann auch mit "ssh -Q cipher" erhalten werden.
ClientAliveCountMax
TCPKeepAlive
unterscheidet. Die Lebensmeldungen
des Clients werden durch den verschlüsselten Kanal gesandt und
können daher nicht manipuliert werden. Die durch
TCPKeepAlive
aktivierte Option »TCP
keepalive« kann manipuliert werden. Der
Client-Lebensmeldungsmechanismus ist wertvoll, wenn der Client oder der
Server davon abhängen zu wissen, wenn auf einer Verbindung nicht
mehr reagiert wird.
Der Vorgabewert ist 3. Falls
ClientAliveInterval
auf 15 gesetzt wird und
ClientAliveCountMax
bei der Vorgabe verbleibt,
wird die Verbindung zu SSH-Clients, die nicht mehr reagieren, nach
ungefähr 45 Sekunden getrennt. Die Beendigung der Verbindung wird
deaktiviert, indem ClientAliveCountMax
auf 0
gesetzt wird.
ClientAliveInterval
Compression
yes
,
delayed
(ein veraltetes Synonym für
yes
) oder no
sein. Die
Vorgabe ist yes
.DebianBanner
yes
.DenyGroups
DenyGroups
,
AllowGroups
.
Siehe MUSTER in ssh_config(5) für
weitere Informationen über Muster. Dieses Schlüsselwort
darf in sshd_config
mehrfach auftauchen, wobei
jede Instanz an die Liste anhängt wird.
DenyUsers
DenyUsers
,
AllowUsers
.
Siehe MUSTER in ssh_config(5) für
weitere Informationen über Muster. Dieses Schlüsselwort
darf in sshd_config
mehrfach auftauchen, wobei
jede Instanz an die Liste anhängt wird.
DisableForwarding
ExposeAuthInfo
SSH_USER_AUTH
offengelegt. Die
Vorgabe ist no
.FingerprintHash
md5
und sha256
. Die
Vorgabe ist sha256
.ForceCommand
ForceCommand
festgelegten Befehls, vom Client und
in ~/.ssh/rc bereitgestellte Befehle werden (falls
vorhanden) ignoriert. Der Befehl wird mittels der Anmelde-Shell des
Benutzers mit der Option »-c« ausgeführt. Dies gilt
für die Shell-, Befehls- oder Subsystem-Ausführung. Dies ist
innerhalb eines Match
-Blocks am
nützlichsten. Der vom Client ursprünglich bereitgestellte
Befehl ist in der Umgebungsvariablen
SSH_ORIGINAL_COMMAND
verfügbar. Wird
internal-sftp
als Befehl festgelegt, dann wird die
Benutzung des In-Prozess-SFTP-Servers erzwungen, der keinerlei
unterstützende Dateien benötigt, wenn er mit
ChrootDirectory
verwandt wird. Die Vorgabe ist
none
.GatewayPorts
GatewayPorts
kann
zur Festlegung verwandt werden, dass Sshd die Anbindung der fernen
Portweiterleitung an nicht-Looback-Adressen erlauben soll und damit
anderen Rechnern, sich damit zu verbinden. Das Argument kann
no
sein, damit ferne Port-Weiterleitungen nur dem
lokalen Rechner zur Verfügung stehen, yes
,
damit ferne Port-Weiterleitungen an Platzhalter-Adressen erzwungen werden
oder clientspecified
, um dem Client zu erlauben,
die Adresse auszuwählen, an die die Weiterleitung gebunden wird.
Die Vorgabe ist no
.GSSAPIAuthentication
no
.GSSAPICleanupCredentials
yes
.GSSAPIKeyExchange
no
.GSSAPIStrictAcceptorCheck
yes
gesetzt, muss sich der Client gegen den
Rechnerdienst auf dem aktuellen Rechnernamen authentifizieren. Falls auf
no
gesetzt, kann sich der Client gegen jeden
Diensteschlüssel, der in dem Standardspeicher der Maschine abgelegt
ist, authentifizieren. Diese Einrichtung wird bereitgestellt, um bei
Aktionen auf Maschinen mit mehreren Standorten zu unterstützen. Die
Vorgabe ist yes
.GSSAPIStoreCredentialsOnRekey
Damit dies funktioniert, muss
GSSAPIKeyExchange
auf dem Server aktiviert und
auch vom Client verwandt werden.
GSSAPIKexAlgorithms
gss-gex-sha1-, gss-group1-sha1-, gss-group14-sha1-, gss-group14-sha256-, gss-group16-sha512-, gss-nistp256-sha256-, gss-curve25519-sha256-
Die Vorgabe ist “gss-group14-sha256-,gss-group16-sha512-,gss-nistp256-sha256-,gss-curve25519-sha256-,gss-gex-sha1-,gss-group14-sha1-”. Diese Option gilt nur bei Verbindungen, die GSSAPI verwenden.
HostbasedAcceptedAlgorithms
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-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
Die Liste der verfügbaren Signaturalgorithmen kann auch mittels "ssh -Q HostbasedAcceptedAlgorithms" erhalten werden. Früher hieß dies HostbasedAcceptedKeyTypes.
HostbasedAuthentication
no
.HostbasedUsesNameFromPacketOnly
HostbasedAuthentication
durchzuführen. Eine
Einstellung von yes
bedeutet, dass
sshd(8) den vom Client bereitgestellten Namen verwenden
wird, statt zu versuchen, den Namen aus der TCP-Verbindung selbst
aufzulösen. Die Vorgabe ist no
.HostCertificate
HostKey
festgelegten privaten
Schlüssel passen. Standardmäßig lädt
sshd(8) keine Zertifikate.HostKey
Beachten Sie, dass sshd(8) die Verwendung
einer Datei ablehnen wird, falls sie Gruppe-/Welt-zugreifbar ist und
dass die Option HostKeyAlgorithms
einschränkt, welcher der Schlüssel durch
sshd(8) tatsächlich verwandt wird.
Es ist möglich, mehrere Rechnerschlüsseldateien zu haben. Es ist auch möglich, stattdessen öffentliche Rechnerschlüsseldateien festzulegen. In diesem Fall werden Aktionen an dem privaten Schlüssel an ssh-agent(1) delegiert.
HostKeyAgent
SSH_AUTH_SOCK
ausgelesen.HostKeyAlgorithms
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-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
Die Liste der verfügbaren Signaturalgorithmen kann auch mittels "ssh -Q HostKeyAlgorithms" erhalten werden.
IgnoreRhosts
HostbasedAuthentication
ignoriert werden sollen.
Unabhängig von dieser Einstellung werden die systemweiten
/etc/hosts.equiv und
/etc/ssh/shosts.equiv weiterhin genutzt.
Akzeptierte Werte sind yes
(die
Vorgabe), um alle benutzerbezogenen Dateien zu ignorieren,
shosts-only
, um nur die Verwendung von
.shosts zu erlauben, aber
.rhosts zu ignorieren und
no
, um sowohl .shosts
als auch rhosts zu erlauben.
IgnoreUserKnownHosts
HostbasedAuthentication
ignorieren und nur die
systemweite Datei bekannter Rechner
/etc/ssh/ssh_known_hosts verwenden soll. Die
Vorgabe ist “no”.Include
Match
-Blocks kann eine
Include
-Direktive auftauchen, um bedingte
Einbindung durchzuführen.IPQoS
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 und none
, um die Vorgabe des
Betriebssystems zu verwenden. Diese Option kann ein oder zwei Argumente,
getrennt durch Leerraum, akzeptieren. Falls ein Argument festgelegt ist,
wird es bedingungslos als Paketklasse verwandt. Falls zwei Werte
festgelegt sind, wird der erste automatisch für interaktive
Sitzungen ausgewählt und der zweite für nicht-interaktive
Sitzungen. Die Vorgabe ist lowdelay
für
interaktive Sitzungen und throughput
für
nicht-interaktive Sitzungen.KbdInteractiveAuthentication
yes
. Das Argument für
dieses Schlüsselwort muss yes
oder
no
lauten.
ChallengeResponseAuthentication
ist ein veralteter
Alias dafür.KerberosAuthentication
PasswordAuthentication
bereitgestellte Passwort
mittels des Kerberos KDCs validiert wird. Um diese Option zu verwenden,
benötigt der Server eine Kerberos-Servtab, die die
Überprüfung der Identität des KDCs erlaubt. Die
Vorgabe ist no
.KerberosGetAFSToken
no
.KerberosOrLocalPasswd
yes
.KerberosTicketCleanup
yes
.KexAlgorithms
Die Vorgabe ist:
sntrup761x25519-sha512@openssh.com, 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 mittels "ssh -Q KexAlgorithms" erlangt werden.
ListenAddress
ListenAddress
Rechnername|AdresseListenAddress
Rechner:PortListenAddress
IPv4-Adresse:PortListenAddress
[Rechnername|Adresse]:PortFalls Port nicht angegeben ist, wird
Sshd auf allen Adressen auf Anfragen warten und alle Optionen
Port
sind festgelegt.
Standardmäßig wird auf allen lokalen Adressen auf Anfragen
gewartet. Mehrere ListenAddress
sind
erlaubt.
LoginGraceTime
LogLevel
LogVerbose
kex.c:*:1000,*:kex_exchange_identification():*,packet.c:*
detaillierte Protokollierung
für Zeile 1000 von kex.c, alles in der
Funktion
kex_exchange_identification
()
und allen Code in der Datei packet.c aktivieren.
Diese Option ist zur Fehlersuche gedacht und standardmäßig
sind keine Außerkraftsetzungen aktiviert.
MACs
Die Algorithmen, die "-etm" enthalten, berechnen den MAC nach der Verschlüsselung (encrypt-then-mac). Diese werden als sicherer betrachtet und ihr Einsatz wird empfohlen. Die unterstützten MACs sind:
Die Vorgabe 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 mittels "ssh -Q mac" erhalten werden.
Match
Match
erfüllt sind, setzen die
Schlüsselwörter auf den folgenden Zeilen solche im globalen
Abschnitt der Konfigurationsdatei außer Kraft, bis entweder eine
andere Zeile Match
oder das Ende der Datei
auftaucht. Falls ein Schlüsselwort in mehreren erfüllten
Match
-Blöcken auftaucht, wird nur die
erste Instanz des Schlüsselwortes angewandt.
Die Argumente von Match
sind eines
oder mehrere Kriterium-Muster-Paare oder das einzelne Merkmal
All
, das auf alle Kriterien passt. Die
verfügbaren Kriterien sind User
,
Group
, Host
,
LocalAddress
, LocalPort
und Address
.
Die »match«-Muster bestehen aus einzelnen Einträgen oder durch Kommata getrennten Listen und können die im Abschnitt MUSTER von ssh_config(5) beschriebenen Platzhalter und Verneinungsoperatoren verwenden.
Die Muster in einem Address
-Kriterium
können zusätzlich passende Adressen im
CIDR-address/masklen-Format enthalten, wie 192.0.2.0/24 oder
2001:db8::/32. Beachten Sie, dass die bereitgestellte Maskenlänge
zur der Adresse passen muss - es ist ein Fehler, wenn eine
Maskenlänge festgelegt wird, die für die Adresse zu lang
ist oder eine, bei der Bits in diesem Rechneranteil der Adresse gesetzt
sind. Beispiel: 192.0.2.0/33 bzw. 192.0.2.0/8.
Auf den Zeilen, die einem Schlüsselwort
Match
folgen, darf nur eine Teilmenge der
Schlüsselwörter verwandt werden. Verfügbare
Schlüsselwörter sind AcceptEnv
,
AllowAgentForwarding
,
AllowGroups
,
AllowStreamLocalForwarding
,
AllowTcpForwarding
,
AllowUsers
,
AuthenticationMethods
,
AuthorizedKeysCommand
,
AuthorizedKeysCommandUser
,
AuthorizedKeysFile
,
AuthorizedPrincipalsCommand
,
AuthorizedPrincipalsCommandUser
,
AuthorizedPrincipalsFile
,
Banner
,
CASignatureAlgorithms
,
ChannelTimeout
,
ChrootDirectory
,
ClientAliveCountMax
,
ClientAliveInterval
,
DenyGroups
, DenyUsers
,
DisableForwarding
,
ExposeAuthInfo
,
ForceCommand
,
GatewayPorts
,
GSSAPIAuthentication
,
HostbasedAcceptedAlgorithms
,
HostbasedAuthentication
,
HostbasedUsesNameFromPacketOnly
,
IgnoreRhosts
, Include
,
IPQoS
,
KbdInteractiveAuthentication
,
KerberosAuthentication
,
LogLevel
, MaxAuthTries
,
MaxSessions
,
PasswordAuthentication
,
PermitEmptyPasswords
,
PermitListen
,
PermitOpen
,
PermitRootLogin
,
PermitTTY
, PermitTunnel
,
PermitUserRC
,
PubkeyAcceptedAlgorithms
,
PubkeyAuthentication
,
PubkeyAuthOptions
,
RekeyLimit
, RevokedKeys
,
SetEnv
,
StreamLocalBindMask
,
StreamLocalBindUnlink
,
TrustedUserCAKeys
,
UnusedConnectionTimeout
,
X11DisplayOffset
,
X11Forwarding
und
X11UseLocalhost
.
MaxAuthTries
MaxSessions
MaxSessions
auf 1 wird Sitzung-Multiplexen
praktisch deaktiviert, wohingegen das Setzen auf 0 sämtliche
Shell-, Anmelde- und Subsystem-Sitzungen verhindern, aber weiterhin die
Weiterleitung ermöglichen wird. Die Vorgabe ist 10.MaxStartups
LoginGraceTime
für eine Verbindung
abläuft. Die Vorgabe ist 10:30:100.
Zusätzlich kann das frühe zufällige Verwerfen durch Angabe der drei durch Doppelpunkt getrennten Werte Start:Rate:voll (z.B. »10:30:60«) festgelegt werden. sshd(8) wird Verbindungsversuche mit einer Wahrscheinlichkeit von Rate/100 abweisen (30%), falls es derzeit Start (10) nicht autorisierte Verbindungen gibt. Die Wahrscheinlichkeit wächst linear und alle Verbindungsversuche werden abgelehnt, falls die Anzahl der nicht authentifizierten Verbindungen voll erreicht (60).
ModuliFile
PasswordAuthentication
yes
.PermitEmptyPasswords
no
.PermitListen
PermitListen
PortPermitListen
Rechner:PortMehrere Erlaubnisse können angegeben werden, indem sie
durch Leerraum getrennt werden. Ein Argument any
kann zur Entfernung aller Beschränkungen und der Erlaubnis jeder
»listen«-Anfrage verwandt werden. Ein Argument
none
kann zum Verbieten aller
»listen«-Anfrage verwandt werden. Der Rechnername darf
Platzhalter enthalten, wie dies im Abschnitt MUSTER in
ssh_config(5) beschrieben ist. Der Platzhalter
»*« kann auch anstelle einer Port-Nummer zum Erlauben
aller Ports verwandt werden. Standardmäßig werden alle
Port-Weiterleitung »listen«-Anfragen erlaubt. Beachten
Sie, dass die Option GatewayPorts
weiter
einschränken kann, auf welchen Adressen auf Anfragen gewartet
werden kann. Beachten Sie auch, dass ssh(1) einen auf
Anfragen wartenden Rechner als “localhost” erbitten wird,
falls in der »listen«-Anweisung kein auf Anfragen
wartender Rechner speziell erbeten wurde und dieser Name wird anders
behandelt, um explizit Localhost-Adressen von “127.0.0.1”
und “::1”.
PermitOpen
PermitOpen
Rechner:PortPermitOpen
IPv4-Adresse:PortPermitOpen
[IPv6-Adresse]:PortMehrere Weiterleitungen können angegeben werden, indem
sie durch Leerraum getrennt werden. Ein Argument
any
kann verwandt werden, um alle
Beschränkungen zu entfernen und alle Weiterleitungsanfragen zu
erlauben. Ein Argument none
kann verwandt
werden, um alle Weiterleitungsanfragen zu verbieten. Der Platzhalter
»*« kann für Rechner oder Port verwandt werden, um
alle Rechner bzw. Ports zu erlauben. Darüber hinaus erfolgt kein
Musterabgleich oder Adressabfragen bei bereitgestellten Namen.
Standardmäßig sind alle Port-Weiterleitungsanfragen
erlaubt.
PermitRootLogin
yes
,
prohibit-password
,
forced-commands-only
oder
no
sein. Die Vorgabe ist
prohibit-password
.
Falls diese Option auf
prohibit-password
(oder seinen veralteten Alias
without-password
) gesetzt ist, wird Passwort-
oder interaktive Anmeldung über die Tastatur für root
deaktiviert.
Falls diese Option auf
forced-commands-only
gesetzt ist, wird die
Anmeldung von root über asymmetrische Authentifizierung erlaubt,
aber nur falls die Option Befehl festgelegt wurde
(was nützlich für die Durchführung ferner
Sicherungskopien ist, selbst falls die Anmeldung von root normalerweise
nicht erlaubt ist). Alle anderen Authentifizierungsmethoden für
root sind deaktiviert.
Falls diese Option auf no
gesetzt ist,
darf root sich nicht anmelden.
PermitTTY
yes
.PermitTunnel
yes
,
point-to-point
(Ebene 3),
ethernet
(Ebene 2) oder no
sein. Festlegung von yes
erlaubt sowohl
point-to-point
als auch
ethernet
. Die Vorgabe ist
no
.
Unabhängig von dieser Einstellung muss die Berechtigung des ausgewählten tun(4) -Gerätes so gesetzt sein, dass der Zugriff durch den Benutzer erlaubt ist.
PermitUserEnvironment
environment=
in
~/.ssh/authorized_keys durch
sshd(8) verarbeitet werden. Gültige Optionen sind
yes
, no
oder eine
Muster-Liste, die angibt, welche Umgebungsvariablennamen akzeptiert werden
(beispielsweise "LANG,LC_*"). Die Vorgabe ist
no
. Aktivierung der Verarbeitung der Umgebung kann
Benutzer in die Lage versetzen, in einigen Konfigurationen durch
Verwendung von Mechanismen wie LD_PRELOAD
die
Zugriffsbeschränkungen zu umgehen.PermitUserRC
yes
.PerSourceMaxStartups
MaxStartups
angewandt, der niedrigere Wert wird
benutzt. Die Vorgabe ist none
.PerSourceNetBlockSize
32:128
, was bedeutet, dass jede Adresse
individuell betrachtet wird.PidFile
none
, um keine zu schreiben. Die Vorgabe ist
/run/sshd.pid.Port
ListenAddress
.PrintLastLog
yes
.PrintMotd
yes
.PubkeyAcceptedAlgorithms
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-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
Die Liste der verfügbaren Signaturalgorithmen kann auch mittels "ssh -Q PubkeyAcceptedAlgorithms" erhalten werden.
PubkeyAuthOptions
none
(die Vorgabe; zeigt an, dass keine
zusätzlichen Optionen aktiviert sind),
touch-required
und
verify-required
.
Die Option touch-required
führt
dazu, dass asymmetrische Authentifizierung, die einen
FIDO-Authenticator-Algorithmus verwendet (d.h.
ecdsa-sk
oder
ed25519-sk
), immer verlangt, dass die Signatur
beglaubigt, dass der physisch anwesende Benutzer explizit die
Authentifizierung bestätigte (normalerweise durch Anfassen des
Authenticators). Standardmäßig verlangt
sshd(8) die Anwesenheit des Benutzers, außer
dies wird mit einer authorized_keys-Option außer Kraft gesetzt.
Der Schalter touch-required
deaktiviert diese
Außerkraftsetzung.
Die Option verify-required
benötigt eine FIDO-Schlüsselsignatur-Beglaubigung, dass
der Benutzer verifiziert wurde, z.B. über eine PIN.
Weder die Option touch-required
noch
verify-required
haben eine Auswirkung auf
andere, nicht-FIDO asymmetrische Schlüsseltypen.
PubkeyAuthentication
yes
.RekeyLimit
RekeyLimit
ist default none
, was bedeutet, dass die
Schlüsselneuaushandlung erfolgt, nachdem die Vorgabedatenmenge
gesandt oder empfangen wurde und keine Zeit-basierte
Schlüsselneuaushandlung durchgeführt wird.RequiredRSASize
1024
bit. Beachten Sie, dass diese
Beschränkung von der Vorgabe her nur angehoben werden kann.RevokedKeys
none
, um keine zu verwenden. In dieser
Datei aufgeführte Schlüssel werden für asymmetrische
Authentifizierung abgelehnt. Beachten Sie, dass die asymmetrische
Authentifizierung für alle Benutzer abgelehnt wird, falls diese
Datei nicht lesbar ist. Schlüssel können als Textdatei
festgelegt werden, dabei wird ein Schlüssel pro Zeile
aufgeführt, oder als OpenSSH-Schlüsselsperrliste, wie sie
von ssh-keygen(1) erstellt wird. Für weitere
Informationen über KRLs lesen Sie den Abschnitt
SCHLÜSSELSPERRLISTEN in ssh-keygen(1).SecurityKeyProvider
SetEnv
SetEnv
gesetzte Umgebungsvariablen setzen die Vorgabe-Umgebung außer Kraft
und alle durch den Benutzer mittels AcceptEnv
oder
PermitUserEnvironment
festgelegten Variablen.StreamLocalBindMask
Der Vorgabewert ist 0177. Dadurch wird eine Unix-Domain-Socket-Datei erstellt, die nur der Eigentümer lesen und schreiben kann. Beachten Sie, dass nicht alle Betriebssysteme den Dateimodus bei Unix-Domain-Socket-Dateien berücksichtigen.
StreamLocalBindUnlink
StreamLocalBindUnlink
nicht aktiviert ist, wird
sshd
nicht in der Lage sein, den Port an die
UNIX-Domain-Socket-Datei weiterzuleiten. Diese Option wird nur für
Port-Weiterleitungen an UNIX-Domain-Socket-Dateien verwandt.
Das Argument muss yes
oder
no
sein. Die Vorgabe ist
no
.
StrictModes
yes
. Beachten Sie, dass dies nicht für
ChrootDirectory
gilt, dessen Berechtigungen und
Eigentümerschaft bedingungslos geprüft werden.Subsystem
Der Befehl sftp-server
implementiert
das SFTP-Dateiübertragungs-Subsystem.
Alternativ implementiert der Name
internal-sftp
einen In-Prozess-SFTP-Server. Dies
kann Konfigurationen bei der Verwendung von
ChrootDirectory
vereinfachen, bei der eine
andere Dateisystemwurzel auf Clients erzwungen wird.
Standardmäßig sind keine Subsysteme definiert.
SyslogFacility
TCPKeepAlive
Die Vorgabe ist yes
(TCP-Keepalive-Nachrichten werden gesandt) und der Server wird bemerken,
falls das Netzwerk unverfügbar wird oder der Rechner des Clients
abstürzt. Dies verhindert unbegrenzt hängende
Sitzungen.
Um TCP-Keepalive-Nachrichten zu deaktivieren, sollte der Wert
auf no
gesetzt werden.
Diese Option hieß früher
KeepAlive
.
TrustedUserCAKeys
none
, um keine zu verwenden. Pro Zeile wird ein
Schlüssel aufgeführt. Leere Zeilen und Kommentare, die mit
‘#
’ beginnen, sind erlaubt. Falls
zur Authentifizierung ein Zertifikat präsentiert wird und es
über eine in dieser Datei aufgeführte signierende CA
verfügt, dann kann es zur Authentifizierung für jeden
Benutzer verwandt werden, der in der Liste der Prinzipalen für das
Zertifikat aufgeführt ist. Beachten Sie, dass Zertifikate, denen
eine Liste der Prinzipalen fehlt, für die Authentifizierung mittels
TrustedUserCAKeys
nicht erlaubt werden. Für
weitere Details über Zertifikate, lesen Sie den Abschnitt
ZERTIFIKATE in ssh-keygen(1).UnusedConnectionTimeout
-R
von
ssh(1), werden nicht als offene Kanäle betrachtet
und verhindern nicht die Zeitüberschreitung. Der
Zeitüberschreitungswert wird in Sekunden festgelegt oder kann jede
der im Abschnitt ZEITFORMATE
dokumentierten Einheiten verwenden.
Beachten Sie, dass diese Zeitüberschreitung beginnt, wenn die Client-Verbindung die Benutzerauthentifizierung abschließt, aber bevor der Client die Möglichkeit hat, einen Kanal zu öffnen. Bei der Verwendung kurzer Zeitüberschreitungswerte sollte Vorsicht walten gelassen werden, da sie dem Client nicht genug Zeit lassen könnten, um seine Kanäle anzufordern und zu öffnen, bevor die Sitzung beendet wird.
Die Vorgabe ist none
, wordurch
Verbindungen niemals aufgrund fehlender offener Kanäle ablaufen.
Diese Option kann zusammen mit ChannelTimeout
nützlich sein.
UseDNS
Falls diese Option auf (die Vorgabe)
no
gesetzt ist, dann werden nur Adressen und
keine Rechnernamen in den Direktiven from
und
sshd_config
Match
Host
in
~/.ssh/authorized_keys verwandt.
UsePAM
yes
gesetzt wird dies zusätzlich zu der für alle
Authentifizierungen erfolgenden PAM-Konten und
-Sitzungsmodulverarbeitungen die PAM-Authentifizierung mittels
KbdInteractiveAuthentication
und
PasswordAuthentication
aktivieren.
Da die PAM-Authentifizierung mittels interaktiver
Tastatureingabe normalerweise eine äquivalente Rolle zur
Passwort-Authentifizierung spielt, sollten Sie entweder
PasswordAuthentication
oder
KbdInteractiveAuthentication
deaktivieren.
Falls UsePAM
aktiviert ist,
müssen Sie zwingend sshd(8) als Benutzer root
ausführen. Die Vorgabe ist no
.
VersionAddendum
none
.X11DisplayOffset
X11Forwarding
yes
oder no
sein. Die
Vorgabe ist no
.
Wenn X11-Weiterleitung aktiviert ist, kann es eine
zusätzliche Offenlegung des Servers und der Client-Displays
geben, falls das Proxy-Display von sshd(8)
konfiguriert wird, auf der Platzhalter-Adresse auf Anfragen zu warten
(siehe X11UseLocalhost
). Dies ist allerdings
nicht die Vorgabe. Zusätzlich erfolgt die Fälschung der
Authentifizierung und die Überprüfung der
Authentifizierungsdaten und deren Ersetzung auf der Client-Seite. Das
Sicherheitsrisiko bei der Verwendung der X11-Weiterleitung besteht
darin, das der X11-Display-Server des Clients Angriffen unterworfen
werden kann, wenn der SSH-Client eine Weiterleitung anfordert (siehe die
Warnungen für ForwardX11
in
ssh_config(5)). Ein Systemadministrator kann die
Haltung vertreten, dass sie Clients schützen möchte, die
sich Angriffen öffnen könnten, indem sie unbeabsichtigt
X11-Weiterleitung erbitten, wodurch dann eine Einstellung von
no
gerechtfertigt ist.
Beachten Sie, dass das Deaktivieren der X11-Weiterleitung die Benutzer nicht daran hindert, X11-Verkehr weiterzuleiten, da die Benutzer immer ihre eigenen Weiterleitungsprogramme installieren können.
X11UseLocalhost
DISPLAY
auf localhost
.
Dies verhindert, dass ferne Rechner sich mit dem Proxy-Display verbinden.
Allerdings könnten einige ältere X11-Clients mit dieser
Konfiguration nicht funktionieren. X11UseLocalhost
kann auf no
gesetzt werden, um festzulegen, dass
der Weiterleitungs-Server an die Platzhalter-Adresse gebunden werden soll.
Das Argument muss entweder yes
oder
no
sein. Die Vorgabe ist
yes
.XAuthLocation
none
, um
keines zu verwenden. Die Vorgabe ist
/usr/bin/xauth.sshd(8) Befehlszeilenargumente und Konfigurationsdateioptionen, die eine Zeit festlegen, können mittels einer Sequenz der folgenden Form ausgedrückt werden: Zeit[Kennzeichner],, wobei Zeit ein positiver Ganzzahlwert ist und Kennzeichner eines der Folgenden:
Jedes Mitglied der Sequenz wird aufaddiert, um den Gesamtzeitwert zu berechnen.
Beispiele für Zeitformate:
Argumente für manche Schlüsselwörter können Merkmale verwenden, die zur Laufzeit expandiert werden:
AuthorizedKeysCommand
akzeptiert die
Merkmale %%, %C, %D, %f, %h, %k, %t, %U und %u.
AuthorizedKeysFile
akzeptiert die Merkmale
%%, %h, %U und %u.
AuthorizedPrincipalsCommand
akzeptiert die
Merkmale %%, %C, %D, %F, %f, %h, %i, %K, %k, %s, %T, %t, %U und %u.
AuthorizedPrincipalsFile
akzeptiert die
Merkmale %%, %h, %U und %u.
ChrootDirectory
akzeptiert die Merkmale
%%, %h, %U und %u.
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.
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 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
$Mdocdate: 28. Juli 2023 $ | Debian |