SSH_CONFIG(5) | File Formats Manual | SSH_CONFIG(5) |
BEZEICHNUNG
ssh_config
—
OpenSSH-Client-Konfigurationsdatei
BESCHREIBUNG
ssh(1) erhält Konfigurationsdaten aus den folgenden Quellen in der folgenden Reihenfolge:
- Befehlszeilenoptionen
- die Konfigurationsdatei des Benutzers (~/.ssh/config)
- die systemweite Konfigurationsdatei (/etc/ssh/ssh_config)
Falls nicht anders angegeben wird für jeden Parameter der
erste erhaltene Wert verwandt. Die Konfigurationsdateien enthalten durch
Host
-Spezifikationen getrennte Abschnitte und
dieser Abschnitt wird nur für Rechner angewandt, die auf ein in der
Spezifikation angegebenes Muster passen. Der passende Rechnername wird
normalerweise auf der Befehlszeile übergeben (siehe beispielsweise
die Option CanonicalizeHostname
für
Ausnahmen).
Da der erste erhaltene Wert für jeden Parameter verwandt wird, sollten die meisten Rechner-spezifischen Deklarationen in der Nähe des Anfangs der Datei und allgemeine Vorgaben am Ende angegeben werden.
Die Datei enthält Schlüsselwort-Argument-Paare,
eines pro Zeile. Leere Zeilen und solche, die mit
‘#
’ anfangen, werden als Kommentare
interpretiert. Argumente können optional in englische doppelte
Anführungszeichen (") eingeschlossen werden, um Argumente, die
Leerzeichen enthalten, darzustellen. Konfigurationsoptionen können
durch Leerraum oder optionalen Leerraum und genau ein
‘=
’ abgetrennt werden; letzteres
Format ist nützlich, um die Notwendigkeit von
Anführungszeichen für Leerzeichen zu vermeiden, wenn
Konfigurationsoptionen angegeben werden, die die Option
ssh
, scp
und
sftp
-o
enthalten.
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):
Host
- Beschränkt die folgenden Deklarationen (bis zum nächsten
Schlüsselwort
Host
oderMatch
) auf die Rechner, die auf eines der Muster passen, die nach dem Schlüsselwort angegeben sind. Falls mehr als ein Muster bereitgestellt wird, dann sollten sie durch Leerraum getrennt sein. Ein einzelnes ‘*
’ als Muster kann zur Bereitstellung globaler Vorgaben für alle Rechner verwandt werden. Der Rechner ist normalerweise das auf der Befehlszeile übergebene Argument Rechnername (siehe das SchlüsselwortCanonicalizeHostname
für Ausnahmen.Ein Mustereintrag kann negiert werden, indem ihm ein Ausrufezeichen (‘!’) vorangestellt wird. Falls ein negierter Ausdruck passt, dann wird der Eintrag
Host
ignoriert, unabhängig davon, ob eines der anderen Muster auf der Zeile passt. Negierte Treffer sind daher nützlich, um Ausnahmen für Platzhalter-Treffer bereitzustellen.Siehe MUSTER für weitere Informationen über Muster.
Match
- Beschränkt die folgenden Deklarationen (bis zum nächsten
Schlüsselwort
Host
oderMatch
) auf die Fälle, bei denen die Bedingungen, die nach dem SchlüsselwortMatch
angegeben sind, erfüllt sind. Trefferbedingungen werden mittels einem oder mehreren Kriterien oder dem einzelnen Merkmalall
, das immer zutrifft, festgelegt. Die verfügbaren Kriterienschlüsselwörter sind:canonical
,final
,exec
,localnetwork
,host
,originalhost
,tagged
,user
undlocaluser
. Das Kriteriumall
muss alleine oder direkt nachcanonical
oderfinal
auftauchen. Andere Kriterien können beliebig kombiniert werden. Alle Kriterien außerall
,canonical
undfinal
benötigen ein Argument. Kriterien können negiert werden, in denen ihnen ein Ausrufezeichen (‘!’) vorangestellt wird.Das Schlüsselwort
canonical
passt nur, wenn die Konfigurationsdatei nach der Umwandlung des Rechnernamens in eine kanonische Form (siehe die OptionCanonicalizeHostname
) erneut ausgewertet wird. Dies kann nützlich sein, um Bedingungen festzulegen, die nur mit kanonischen Rechnernamen funktionieren.Das Schlüsselwort
final
fordert, dass die Konfiguration neu ausgewertet werden soll (egal, obCanonicalizeHostname
aktiviert ist) und passt nur während des abschließenden Durchlaufs. FallsCanonicalizeHostname
aktiviert ist, dann passencanonical
undfinal
während des gleichen Durchlaufs.Das Schlüsselwort
exec
führt den angegebenen Befehl unter der Shell des Benutzers aus. Falls der Befehl einen Exit-Status Null zurückliefert, dann wird die Bedingung als wahr betrachtet. Befehle, die Leerraumzeichen enthalten, müssen in englische Anführungszeichen gesetzt werden. Argumente vonexec
akzeptieren die im Abschnitt MERKMALE beschriebenen Merkmale.Das Schlüsselwort
localnetwork
vergleicht die Adressen der aktiven lokalen Netzwerkschnittstellen mit der bereitgestellten List von Netzwerken im CIDR-Format. Dies kann zur Überprüfung der effektiven Konfiguration von Geräten, die sich zwischen Netzwerken hin- und herbewegen, nützlich sein. Beachten Sie, dass eine Netzwerkadresse in vielen Situationen kein vertrauenswürdiges Kriterium ist (z.B. wenn das Netzwerk automatisch mittels DHCP konfiguriert wird). Daher sollte Vorsicht walten gelassen werden, falls dies zur Steuerung sicherheitsrelevanter Konfiguration verwandt wird.Die Kriterien der anderen Schlüsselwörter müssen einzelne Einträge oder Kommata-getrennte Listen sein und können die im Abschnitt MUSTER beschriebenen Platzhalter- und Negierungsoperatoren verwenden. Die Kriterien für das Schlüsselwort
host
werden mit dem Zielrechnernamen verglichen, nachdem alle Ersetzungen durch die OptionenHostname
oderCanonicalizeHostname
erfolgt sind. Das Schlüsselwortoriginalhost
passt auf den Rechnernamen, wie er auf der Befehlszeile angegeben wurde. Das Schlüsselworttagged
passt auf den Markierungsnamen, der durch eine vorhergehende DirektiveTag
oder auf der Befehlszeile von ssh(1) mittels des Schalters-P
angegeben wurde. Das Schlüsselwortuser
passt auf den Zielbenutzernamen auf dem fernen Rechner. Das Schlüsselwortlocaluser
passt auf den Namen des lokalen Benutzers, der ssh(1) ausführt (dieses Schlüsselwort kann in systemweitenssh_config
-Dateien nützlich sein). AddKeysToAgent
- Gibt an, ob Schlüssel automatisch zu einem laufenden
ssh-agent(1)
hinzugefügt werden sollen. Falls diese Option auf
yes
gesetzt ist und ein Schlüssel aus einer Datei geladen wird, wird der Schlüssel und seine Passphrase zu dem Vermittler mit der Standard-Lebensdauer hinzugefügt, als ob ssh-add(1) verwandt worden wäre. Falls diese Option aufask
gesetzt ist, wird ssh(1) eine Bestätigung über das ProgrammSSH_ASKPASS
benötigen, bevor ein Schlüssel hinzugefügt wird (siehe ssh-add(1) für Details). Falls diese Option aufconfirm
gesetzt ist, muss jede Verwendung eines Schlüssel bestätigt werden, als ob die Option-c
bei ssh-add(1) festgelegt worden wäre. Falls diese Option aufno
gesetzt wird, werden keine Schlüssel zum Vermittler hinzugefügt. Alternativ kann diese Option als Zeitintervall, in dem im Abschnitt ZEITFORMATE von sshd_config(5) beschriebenen Format angegeben werden, um die Lebensdauer in ssh-agent(1) festzulegen, nach der er automatisch entfernt wird. Das Argument mussno
(die Vorgabe),yes
,confirm
(optional gefolgt von einem Zeitintervall),ask
oder ein Zeitintervall sein. AddressFamily
- Legt die bei Verbindungen zu verwendende Adressfamilie fest.
Gültige Argumente sind
any
(die Vorgabe),inet
(nur IPv4 verwenden) undinet6
(nur IPv6 verwenden). BatchMode
- Falls auf
yes
gesetzt, wird die Benutzerinteraktion wie Passwortabfragen und Bestätigungen von Rechnerschlüsselabfragen deaktiviert. Diese Option ist in Skripten und anderen Stapelverarbeitungsaufträgen nützlich, bei denen kein Benutzer zur Interaktion mit ssh(1) verfügbar ist. Das Argument mussyes
oderno
(die Vorgabe) sein. BindAddress
- Verwendet die festgelegte Adresse auf der lokalen Maschine als Quelladresse der Verbindung. Nur für Systeme mit mehr als einer Adresse nützlich.
BindInterface
- Verwendet die Adresse der festgelegten Schnittstelle auf der lokalen Maschine als die Quelladresse der Verbindung.
CanonicalDomains
- Diese Option gibt die Liste der Domain-Endungen an, in denen nach den
angegeben Ziel-Rechnern gesucht werden soll, wenn
CanonicalizeHostname
aktiviert ist. CanonicalizeFallbackLocal
- Legt fest, ob bei fehlgeschlagener Kanonisierung des Rechnernamens mit
einem Fehler beendet werden soll. Die Vorgabe,
yes
, wird versuchen, den nicht qualifizierten Rechnernamen mittels der Auflösungssuchregeln des Systems nachzuschlagen. Ein Wert vonno
führt dazu, dass ssh(1) sofort fehlschlägt, fallsCanonicalizeHostname
aktiviert ist und der Zielrechnername nicht in einer der mittelsCanonicalDomains
festgelegten Domains gefunden werden kann. CanonicalizeHostname
- Steuert, ob explizite Kanonisierung von Rechnernamen durchgeführt
wird. Bei der Vorgabe,
no
, erfolgt keine Umschreibung und die Auflösung des Rechnernamens erfolgt durch die Systemauflöserroutinen. Falls aufyes
gesetzt, dann wird ssh(1) versuchen, auf der Befehlszeile angegebene Rechnernamen für Verbindungen, die nichtProxyCommand
oderProxyJump
verwenden, mittels der EndungenCanonicalDomains
und der RegelnCanonicalizePermittedCNAMEs
zu kanonisieren. FallsCanonicalizeHostname
aufalways
gesetzt ist, dann wird die Kanonisierung auch auf Verbindungen über Proxys angewandt.Falls diese Option aktiviert ist, dann werden die Konfigurationsdateien mittels der neuen Zielnamen erneut ausgewertet, um sämtliche neue Konfiguration aufgrund von passenden Abschnitten
Host
undMatch
einzusammeln. Der Wertnone
deaktiviert die Verwendung desProxyJump
-Rechners. CanonicalizeMaxDots
- Gibt die maximale Anzahl an Punkten im Rechnernamen an, bevor die Kanonisierung deaktiviert wird. Die Vorgabe, 1, erlaubt einen einzelnen Punkt (d.h. Rechnername.Subdomain).
CanonicalizePermittedCNAMEs
- Legt die Regeln fest, nach denen bestimmt wird, ob CNAMEs gefolgt werden
soll, wenn Rechnernamen kanonisiert werden. Die Regeln bestehen aus einem
oder mehreren Argumenten der Form
Quell-Domain-Liste:Ziel-Domain-Liste,
wobei Quell-Domain-Liste eine Musterliste von
Domains ist, die CNAMEs bei der Kanonisierung folgen dürfen und
Ziel-Domain-Liste eine Musterliste von Domains ist,
auf den diese aufgelöst werden dürfen.
Beispielsweise wird es "*.a.example.com:*.b.example.com,*.c.example.com" erlauben, Rechnernamen, die auf "*.a.example.com" passen, auf Namen in den Domains "*.b.example.com" oder "*.c.example.com" kanonisiert zu werden.
Ein einzelnes Argument "none" führt dazu, dass keine CNAMEs für die Kanonisierung berücksichtigt werden. Dies ist das Standardverhalten.
CASignatureAlgorithms
- Legt die Algorithmen fest, die zum Signieren von Zertifikaten durch
Zertifizierungsstellen (CAs) erlaubt sind. Die Vorgabe 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
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.
ssh(1) wird keine Rechnerzertifikate akzeptieren, die mit anderen als den festgelegten Algorithmen signiert sind.
CertificateFile
- Legt eine Datei fest, aus der das Zertifikat des Benutzers gelesen wird.
Ein entsprechender privater Schlüssel muss separat in einer
Direktive
IdentityFile
oder einem Schalter an ssh(1), mittels ssh-agent(1) oder mittels einemPKCS11Provider
oder einemSecurityKeyProvider
bereitgestellt werden, um dieses Zertifikat zu benutzen.Argumente von
CertificateFile
können die Tilde-Syntax, um sich auf das Home-Verzeichnis des Benutzers zu beziehen, die im Abschnitt MERKMALE beschriebenen Merkmale und die im Abschnitt UMGEBUNGSVARIABLEN beschriebenen Umgebungsvariablen verwenden.Es ist möglich, dass mehrere Zertifikatsdateien in Konfigurationsdateien festgelegt werden; diese Zertifikate werden der Reihen nach ausprobiert. Mehrere Direktiven
CertificateFile
fügen zu der Zertifikatsliste hinzu, die für die Authentifizierung verwandt wird. ChannelTimeout
- Gibt an, ob und wie schnell ssh(1)
inaktive Kanäle schließen soll. Zeitüberschreitungen
werden als ein oder mehrere »Typ=Intervall«-Paare getrennt
durch Leerraum angegeben, wobei »Typ« das besondere
Schlüsselwort »global« oder ein Kanaltypname aus der
nachfolgenden Liste sein muss, der optional Joker-Zeichen enthalten darf.
Der Zeitüberschreitungswert »interval« wird in Sekunden angegeben oder kann eine der im Abschnitt ZEITFORMATE dokumentierten Einheiten verwenden. Beispielsweise würde »session=5m« dazu führen, dass inaktive Sitzungen nach 5 Minuten Inaktivität beendet würden. Durch Angabe des Wertes Null wird die Inaktivitätszeitüberschreitung deaktiviert.
Das besondere Schlüsselwort »global« gilt für alle aktiven Kanäle zusammengenommen. Verkehr auf einem der aktiven Kanäle wird die Zeitüberschreitung zurücksetzen, aber wenn die Zeitüberschreitung abläuft, dann werden alle offenen Kanäle geschlossen. Beachten Sie, dass diese globale Zeitüberschreitung nicht mit Platzhalterzeichen übereinstimmt und explizit konfiguriert werden muss.
Zu den verfügbaren Kanaltypnamen gehören:
agent-connection
- Offene Verbindungen zu ssh-agent(1).
direct-tcpip
,direct-streamlocal@openssh.com
- Offene TCP- bzw. Unix-Socket-Verbindungen, die von einer lokalen
Weiterleitung eines ssh(1)
etabliert wurden, d.h.
LocalForward
oderDynamicForward
. forwarded-tcpip
,forwarded-streamlocal@openssh.com
- Offene TCP- bzw. Unix-Socket-Verbindungen, die zu einem
sshd(8) etabliert wurden, der
im Auftrag einer fernen Weiterleitung eines
ssh(1) auf Anfragen warten,
d.h.
RemoteForward
. session
- Die interaktive Hauptsitzung, einschließlich der Shell-Sitzung, Befehlsausführung, scp(1), sftp(1), usw.
tun-connection
- Offene
TunnelForward
-Verbindungen. x11-connection
- Offene X11-Weiterleitungssitzungen.
Beachten Sie, dass in allen obigen Fällen die Beendigung einer inaktiven Sitzung nicht garantiert, dass alle der Sitzung zugeordnete Ressourcen entfernt werden, z.B. könnten Shell-Prozesse oder X11-Clients mit Bezug zu der Sitzung weiterhin ausgeführt werden.
Desweiteren schließt das Beenden eines inaktiven Kanals oder einer inaktiven Sitzung nicht notwendigerweise die SSH-Verbindung noch verhindert es einen Client daran, einen weiteren Kanal des gleichen Typs anzufragen. Insbesondere verhindert das Ablaufen einer inaktiven Sitzung nicht, dass eine andere, identische Weiterleitung nachfolgend erstellt wird.
Standardmäßig läuft kein Kanal irgendeines Typs aufgrund von Inaktivität ab.
CheckHostIP
- Falls auf
yes
gesetzt, wird ssh(1) zusätzlich die Rechner-IP-Adresse in der Datei known_hosts überprüfen. Dies ermöglicht die Erkennung, ob sich ein Rechnerschlüssel aufgrund von DNS-Fälschungen geändert hat und wird Adressen von Zielrechnern bei dem Prozess zu ~/.ssh/known_hosts hinzufügen, unabhängig von der Einstellung vonStrictHostKeyChecking
. Falls diese Option aufno
(die Vorgabe) gesetzt ist, wird die Prüfung nicht durchgeführt. Ciphers
- Legt die erlaubten Chiffren und deren Reihenfolge fest. Mehrere Chiffren
müssen durch Kommata getrennt werden. Falls die festgelegte Liste
mit einem »+« beginnt, dann werden die angegebenen Chiffren
an die Vorgabemenge angehängt, statt diese zu ersetzen. Falls die
angegebene Liste mit einem »-« beginnt, dann werden die
angegebenen Chiffren (einschließlich Platzhalter-Zeichen) aus der
Vorgabemenge entfernt, statt sie zu ersetzen. Falls die angegebene Liste
mit einem »^« beginnt, dann werden die angegebenen Chiffren
am Anfang der Vorgabemenge abgelegt.
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
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.
ClearAllForwardings
- Gibt an, dass alle in den Konfigurationsdateien oder auf der Befehlszeile
festgelegten lokalen, fernen und dynamischen Portweiterleitungen
zurückgesetzt werden. Diese Option ist besonders nützlich,
wenn sie von der Befehlszeile von
ssh(1) verwandt wird, um alle
Portweiterleitungen in den Konfigurationsdateien zurückzusetzen.
Sie wird automatisch von scp(1) und
sftp(1) gesetzt. Das Argument muss
entweder
yes
oderno
(die Vorgabe) sein. Compression
- Legt fest, ob Kompression verwandt wird. Das Argument muss entweder
yes
oderno
(die Vorgabe) sein. ConnectionAttempts
- Legt die Anzahl der Versuche (einen pro Sekunde) fest, bevor beendet wird. Das Argument muss eine Ganzzahl sein. Dies kann in Skripten nützlich sein, wenn die Verbindung manchmal fehlschlägt. Die Vorgabe ist 1.
ConnectTimeout
- Legt die Zeitüberschreitung (in Sekunden) fest, die bei Verbindungen zum SSH-Server statt der Standard-System-TCP-Zeitüberschreitung verwandt werden soll. Diese Zeitüberschreitung wird sowohl auf den Aufbau der Verbindung als auch bei der Durchführung der initialen SSH-Protokoll-Datenflusssteuerung und dem Schlüsselaustausch verwandt.
ControlMaster
- Aktiviert die gemeinsame Benutzung von mehreren Sitzungen über eine
einzelne Netzwerkverbindung. Falls auf
yes
gesetzt, wird ssh(1) auf Verbindungen auf einem Steuer-Socket warten, das mit dem ArgumentControlPath
festgelegt ist. Zusätzliche Sitzungen können sich mit diesem Socket über den gleichenControlPath
mitControlMaster
gesetzt aufno
(die Vorgabe) verbinden. Diese Sitzungen werden versuchen, die Netzwerkverbindungsinstanz des Masters mit zu benutzen, statt neue aufzubauen. Falls das Steuer-Socket nicht existiert oder nicht auf Anfragen wartet, werden sie aber auf normalen Verbindungsaufbau zurückfallen.Wird dies auf
ask
gesetzt, dann wartet ssh(1) auf Steuerverbindungen, benötigt aber die Bestätigung mittels ssh-askpass(1). Falls derControlPath
nicht geöffnet werden kann, wird ssh(1) fortfahren, ohne sich mit der Master-Instanz zu verbinden.Die Weiterleitung von X11 und ssh-agent(1) über diese multiplexten Verbindungen wird unterstützt, allerdings werden die weitergeleiteten Display und Vermittler zu denen der Master-Verbindung gehören, d.h. es ist nicht möglich, mehrere Displays oder Vermittler weiterzuleiten.
Zwei zusätzliche Optionen ermöglichen opportunistisches Multiplexing: es wird versucht, eine Master-Verbindung zu verwenden, aber auf die Erstellung einer neuen zurückgefallen, falls eine solche noch nicht existiert. Diese Optionen sind:
auto
undautoask
. Letztere verlangt Bestätigung wie bei der Optionask
. ControlPath
- Legt den Pfad zu dem Steuer-Socket fest, das für die gemeinsame
Benutzung von Verbindungen, wie weiter oben in
ControlMaster
beschrieben oder der Zeichenkettenone
, um gemeinsame Benutzung von Verbindungen zu deaktivieren, verwandt wird. Argumente fürControlPath
können die Tilde-Syntax, um sich auf das Home-Verzeichnis des Benutzers zu beziehen, die im Abschnitt MERKMALE beschriebenen Merkmale und die im Abschnitt UMGEBUNGSVARIABLEN beschrieben Umgebungsvariablen verwenden. Es wird empfohlen, dass alleControlPath
, die für opportunistische gemeinsame Verwendung von Verbindungen verwandt werden, mindestens %h, %p und %r (oder alternativ %C) enthalten und in einem Verzeichnis abgelegt werden, das von anderen Benutzern nicht beschreibbar ist. Dies stellt sicher, dass gemeinsam benutzte Verbindungen eindeutig identifiziert sind. ControlPersist
- Wenn dies im Zusammenhang mit
ControlMaster
verwandt wird, legt dies fest, dass die Master-Verbindung im Hintergrund offen bleiben (und auf zukünftige Client-Verbindungen warten) soll, nachdem die anfängliche Client-Verbindung geschlossen wurde. Falls auf die Vorgabeno
gesetzt, dann wird die Master-Verbindung nicht in den Hintergrund gelegt und geschlossen, sobald die anfängliche Verbindung geschlossen wird. Falls aufyes
oder 0 gesetzt, wird die Master-Verbindung zeitlich unbegrenzt im Hintergrund verbleiben (bis sie beendet oder über einen Mechanismus wie "ssh -O exit" geschlossen wird). Falls sie auf eine Zeit in Sekunden oder Zeit in einem der in sshd_config(5) dokumentierten Formate gesetzt wird, dann wird die im Hintergrund befindliche Master-Verbindung automatisch beendet, nachdem sie für die festgelegte Zeit (ohne Client-Verbindungen) im Leerlauf gewesen ist. DynamicForward
- Legt einen TCP-Port auf der lokalen Maschine fest, der über den
sicheren Kanal weitergeleitet werden kann. Dann wird das
Anwendungsprotokoll verwandt, um festzustellen, wo auf der fernen Maschine
die Verbindung erfolgen soll.
Das Argument muss [Anbindeadresse:]Port sein. IPv6-Adressen können durch Einschluss in eckige Klammern angegeben werden. Standardmäßig wird der lokale Port in Übereinstimmung mit der Einstellung
GatewayPorts
angebunden. Allerdings kann eine explizite Anbindeadresse verwandt werden, um die Verbindung an eine bestimmte Adresse anzubinden. Die Verwendung vonlocalhost
als Anbindeadresse zeigt an, dass der Port, der auf Anfragen wartet, nur für die lokale Verwendung angebunden wird, während eine leere Adresse oder »*« anzeigt, dass der Port von allen Schnittstellen aus verfügbar sein soll.Derzeit werden die Protokolle SOCKS4 und SOCKS5 unterstützt und ssh(1) agiert als ein SOCKS-Server. Es können mehrere Weiterleitungen festgelegt werden und zusätzliche Weiterleitungen können auf der Befehlszeile übergeben werden. Nur der Systemadministrator kann privilegierte Ports weiterleiten.
EnableEscapeCommandline
- Aktiviert die Befehlszeilenoption in dem Menü
EscapeChar
für interaktive Sitzungen (standardmäßig ‘~C
’). Standardmäßig ist die Befehlszeile deaktiviert. EnableSSHKeysign
- Wird diese Option in der globalen Client-Konfigurationsdatei
/etc/ssh/ssh_config auf
yes
gesetzt, dann werden die Helfer-Programme ssh-keysign(8) währendHostbasedAuthentication
aktiviert. Das Argument mussyes
oderno
(die Vorgabe) lauten. Die Option sollte außerhalb der Rechner-spezifischen Optionen abgelegt werden. Siehe ssh-keysign(8) für weitere Informationen. EscapeChar
- Setzt das Maskierzeichen (Vorgabe:
‘
~
’). Das Maskierzeichen kann auch auf der Befehlszeile gesetzt werden. Das Argument sollte ein einzelnes Zeichen, ‘^
’, gefolgt von einem Buchstaben odernone
, um das Maskierzeichen komplett zu deaktivieren (um die Verbindung transparent für Binärdaten zu machen), sein. ExitOnForwardFailure
- Legt fest, ob ssh(1) die Verbindung
beenden soll, falls es nicht alle dynamischen, Tunnel-, lokalen und fernen
Port-Weiterleitungen einrichten kann (z.B. falls es an einem der Enden
nicht gelingt, auf einem bestimmten Port anzubinden und dort auf Anfragen
zu warten). Beachten Sie, dass
ExitOnForwardFailure
nicht auf Verbindungen angewandt wird, die über Port-Weiterleitungen erstellt wurden und beispielsweise nicht dazu führt, dass ssh(1) sich beendet, falls TCP-Verbindungen zum endgültigen Weiterleitungsziel fehlschlagen. Das Argument mussyes
oderno
(die Vorgabe) sein. FingerprintHash
- Legt den Hash-Algorithmus fest, der bei der Anzeige der
Fingerabdrücke verwandt wird. Gültige Optionen sind
md5
undsha256
(die Vorgabe). ForkAfterAuthentication
- Bittet
ssh
direkt vor der Ausführung des Befehls in den Hintergrund zu gehen. Dies ist nützlich, fallsssh
nach Passwörtern oder Passphrasen fragen wird, aber der Benutzer es im Hintergrund möchte. Dies impliziert, dass die KonfigurationsoptionStdinNull
auf “yes” gesetzt ist. Die empfohlene Art, X-Programme auf einem fernen Rechner zu starten, ist etwas wiessh -f Rechner xterm
, was identisch zussh Rechner xterm
ist, falls die KonfigurationsoptionForkAfterAuthentication
auf “yes” gesetzt ist.Falls die Konfigurationsoption
ExitOnForwardFailure
auf “yes” gesetzt ist, dann wird ein Client, bei dem die KonfigurationsoptionForkAfterAuthentication
auf “yes” gesetzt ist, darauf warten, dass alle fernen Port-Weiterleitungen erfolgreich etabliert wurden, bevor er sich selbst in den Hintergrund bringt. Das Argument für dieses Schlüsselwort mussyes
(identisch zu der Option-f
) oderno
(die Vorgabe) sein. ForwardAgent
- Legt fest, ob die Verbindung zum Authentifizierungsvermittler (falls
vorhanden) auf die ferne Maschine weitergeleitet wird. Das Argument kann
yes
,no
(die Vorgabe), ein expliziter Pfad zu einem Socket des Vermittlers oder der Name einer Umgebungsvariablen (beginnend mit »$«), in der der Pfad gefunden werden kann, sein.Die Weiterleitung des Vermittlers sollte mit Vorsicht aktiviert werden. Benutzer mit der Fähigkeit, auf dem fernen Rechner Dateiberechtigungen zu umgehen (für das Unix-Domain-Socket des Vermittlers), können über die weitergeleitete Verbindung auf den lokalen Vermittler zugreifen. Ein Angreifer kann vom Vermittler kein Schlüsselmaterial erlangen, er kann allerdings Aktionen auf den Schlüssel ausführen, die es ihm ermöglichen, sich mittels der im Vermittler geladenen Identitäten zu authentifizieren.
ForwardX11
- Gibt an, ob X11-Verbindungen automatisch über den sicheren Kanal
umgeleitet werden und
DISPLAY
gesetzt wird. Das Argument mussyes
oderno
(die Vorgabe) sein.Die X11-Weiterleitung sollte mit Vorsicht aktiviert werden. Benutzer mit der Fähigkeit, auf dem fernen Rechner Dateiberechtigungen zu umgehen (für die Autorisierungsdatenbank von X11) können auf die lokale X11-Anzeige durch die weitergeleitete Verbindung zugreifen. Ein Angreifer könnte dann in der Lage sein, Aktivitäten wie die Überwachung der Tastatureingaben durchzuführen, falls auch die Option
ForwardX11Trusted
aktiviert ist. ForwardX11Timeout
- Legt eine Zeitüberschreitung für nicht
vertrauenswürdige X11-Weiterleitung in dem im Abschnitt
ZEITFORMATE von
sshd_config(5)
beschriebenen Format fest. X11-Verbindungen, die von
ssh(1) nach dieser Zeit empfangen
werden, werden abgelehnt. Wird
ForwardX11Timeout
auf 0 gesetzt, dann wird die Zeitüberschreitung deaktiviert und X11-Weiterleitung für die Lebensdauer der Verbindung erlaubt. Standardmäßig wird nicht vertrauenswürdige X11-Weiterleitung nach dem Ablauf von 20 Minuten deaktiviert. ForwardX11Trusted
- Falls diese Option auf
yes
gesetzt ist, haben ferne X11-Clients vollen Zugriff auf das ursprüngliche X11-Display.Falls diese Option auf
no
(die Vorgabe) gesetzt ist, werden ferne X11-Clients als unvertrauenswürdig betrachtet und daran gehindert, Daten, die zu vertrauenswürdigen X11-Clients gehören, zu stehlen oder zu verändern. Desweiteren wird der für die Sitzung verwandte xauth(1) -Eintrag so eingestellt, dass er nach 20 Minuten abläuft. Fernen Clients wird nach dieser Zeit ein Zugriff verweigert.Siehe die Spezifikation der X11-SECURITY-Erweiterungen für vollständige Details über die für nicht vertrauenswürdige Clients eingeführten Beschränkungen.
GatewayPorts
- Legt fest, ob es fernen Rechnern erlaubt ist, sich mit lokal
weitergeleiteten Ports zu verbinden. Standardmäßig bindet
ssh(1) lokale Port-Weiterleitungen
an die Loopback-Adresse an. Dies hindert andere ferne Rechner am Verbinden
mit weitergeleiteten Ports.
GatewayPorts
kann dazu verwandt werden, anzugeben, dass Ssh lokale Port-Weiterleitungen an die Platzhalter-Adressen anbindet, und es damit fernen Rechnern erlaubt, sich mit weitergeleiteten Ports zu verbinden. Das Argument mussyes
oderno
(die Vorgabe) sein. GlobalKnownHostsFile
- Legt eine oder mehrere, durch Leerraum getrennte Dateien fest, die als globale Schlüsseldatenbank verwandt werden sollen. Die Vorgabe ist /etc/ssh/ssh_known_hosts, /etc/ssh/ssh_known_hosts2.
GSSAPIAuthentication
- Legt fest, ob die GSSAPI-basierte Benutzerauthentifizierung erlaubt ist.
Die Vorgabe ist
no
. GSSAPIDelegateCredentials
- Leitet Anmeldedaten an den Server weiter (delegieren). Die Vorgabe ist
no
. HashKnownHosts
- Zeigt an, dass ssh(1) Rechnernamen
und -adressen hashen soll, wenn sie zu
~/.ssh/known_hosts hinzugefügt werden.
Diese gehashten Namen können normal von
ssh(1) und
sshd(8) verwandt werden, sie
stellen aber visuell keine identifizierenden Informationen dar, falls der
Inhalt der Datei offengelegt wird. Die Vorgabe ist
no
. Beachten Sie, dass bestehende Namen und Adressen in Dateien bekannter Namen nicht automatisch konvertiert werden. Sie können aber manuell mittels ssh-keygen(1) gehasht werden. HostbasedAcceptedAlgorithms
- Legt die für Rechner-basierte Authentifizierung zu verwendenden
Signaturalgorithmen als Komma-getrennte Liste von Mustern fest. Falls
alternativ die festgelegte Liste mit einem »+«-Zeichen
beginnt, werden die festgelegten Signaturalgorithmen an die Vorgabemenge
angehängt, statt sie zu ersetzen. Falls die festgelegte Liste mit
einem »-«-Zeichen beginnt, dann werden die festgelegten
Signaturalgorithmen (einschließlich Platzhalter-Zeichen) aus der
Vorgabemenge entfernt, statt sie zu ersetzen. Falls die festgelegte Liste
mit einem »^«-Zeichen beginnt, dann werden die festgelegten
Signaturalgorithmen an den Anfang der Vorgabemenge gestellt. Die Vorgabe
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-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 Option
-Q
von ssh(1) kann zur Anzeige unterstützter Signaturalgorithmen verwandt werden. Dies wurde früher HostbasedKeyTypes genannt. HostbasedAuthentication
- Legt fest, ob ob asymmetrische Authentifizierung über Rhosts
versucht werden soll. Das Argument muss
yes
oderno
(die Vorgabe) sein. HostKeyAlgorithms
- Legt die Rechnerschlüsselsignaturalgorithmen fest, die der Client
benutzen möchte (der Präferenz nach sortiert). Falls die
Liste alternativ mit »+« beginnt, dann werden die
festgelegten Signaturalgorithmen an die Vorgabemenge angehängt,
statt diese zu ersetzen. Falls die festgelegte Liste mit einem
»-« beginnt, dann werden die festgelegten
Signaturalgorithmen (einschließlich Platzhalter-Zeichen) aus der
Vorgabemenge entfernt, statt diese zu ersetzen. Falls die festgelegte
Liste mit einem »^« beginnt, dann werden die festgelegten
Signaturalgorithmen an den Anfang der Vorgabeliste gesetzt. Die Vorgabe
für diese Option lautet:
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-ecdsa-sha2-nistp256@openssh.com, sk-ssh-ed25519@openssh.com, rsa-sha2-512,rsa-sha2-256
Falls die Rechnerschlüssel für den Zielrechner bekannt sind, dann wird diese Vorgabe verändert, um dessen Algorithmen zu bevorzugen.
Die Liste der verfügbaren Signaturalgorithmen kann auch mittels "ssh -Q HostKeyAlgorithms" erhalten werden.
HostKeyAlias
- Legt einen Alias fest, der statt des echten Rechnernamens beim Nachschlagen oder Speichern des Rechnerschlüssels in den Rechnerschlüsseldatenbankdateien und beim Überprüfen von Rechnerzertifikaten verwandt werden soll. Diese Option ist zum Tunneln von SSH-Verbindungen oder für mehrere Server, die auf dem gleichen Rechner laufen, nützlich.
Hostname
- Legt den echten Rechnernamen, bei dem angemeldet werden soll, fest. Dies
kann zur Angabe von Spitznamen oder Abkürzungen für Rechner
verwandt werden. Argumente für
Hostname
akzeptieren die im Abschnitt MERKMALE beschriebenen Merkmale. Auch numerische Adressen sind erlaubt (sowohl auf der Befehlszeile als auch inHostname
-Angaben). Die Vorgabe ist der auf der Befehlszeile übergebene Name. IdentitiesOnly
- Legt fest, dass ssh(1) nur die
konfigurierten Authentifizierungsidentitäten und Zertifikatsdateien
(entweder die Vorgabedateien oder solche, die explizit in den
ssh_config
-Dateien konfiguriert oder auf der Befehlszeile von ssh(1) übergeben wurden) verwenden soll, selbst falls ssh-agent(1) oder einPKCS11Provider
oderSecurityKeyProvider
mehrere Identitäten anbieten. Das Argument für dieses Schlüsselwort mussyes
oderno
(die Vorgabe). Diese Option ist für Situationen gedacht, bei denen der Ssh-Vermittler viele verschiedene Identitäten anbietet. IdentityAgent
- Legt das zur Kommunikation mit dem Authentifizierungsvermittler verwandte
UNIX-domain -Socket fest.
Diese Option setzt die Umgebungsvariable
SSH_AUTH_SOCK
außer Kraft und kann zur Auswahl eines bestimmten Vermittlers verwandt werden. Durch Setzen des Socket-Namens aufnone
wird die Verwendung des Authentifizierungsvermittlers deaktiviert. Falls die Zeichenkette "SSH_AUTH_SOCK" festgelegt wird, wird der Ort des Sockets aus der UmgebungsvariablenSSH_AUTH_SOCK
gelesen. Andernfalls, falls der festgelegte Wert mit einem »$« beginnt, wird er als eine Umgebungsvariable behandelt, die den Ort des Sockets enthält.Argumente für
IdentityAgent
können die Tilde-Syntax zur Referenz auf das Home-Verzeichnis des Benutzers, die im Abschnitt MERKMALE beschriebenen Merkmale und die im Abschnitt UMGEBUNGSVARIABLEN beschriebenen Umgebungsvariablen verwenden. IdentityFile
- Legt eine Datei fest, aus der die DSA-, ECDSA-, Authentifikator-basierte
ECDSA-, Ed25519-, Authentifikator-basierte Ed25519- oder
RSA-Authentifizierungs-Identität gelesen wird. Sie können
auch eine öffentliche Schlüsseldatei festlegen, um den
entsprechenden privaten Schlüssel zu verwenden, der in
ssh-agent(1) geladen ist,
wenn die private Schlüsseldatei lokal nicht vorhanden ist. Die
Vorgabe ist ~/.ssh/id_rsa,
~/.ssh/id_ecdsa,
~/.ssh/id_ecdsa_sk,
~/.ssh/id_ed25519,
~/.ssh/id_ed25519_sk und
~/.ssh/id_dsa. Zusätzlich werden alle im
Authentifizierungsvermittler dargestellten Identitäten für
die Authentifizierung verwandt, außer
IdentitiesOnly
ist gesetzt. Falls durchCertificateFile
keine Zertifikate explizit festgelegt wurden, wird ssh(1) versuchen, Zertifikatsinformationen aus dem Dateinamen zu erlangen, der durch Anhängen von -cert.pub an den Pfad des festgelegtenIdentityFile
erhalten wird.Argumente für
IdentityFile
können die Tilde-Syntax zur Referenz auf das Home-Verzeichnis des Benutzers oder die im Abschnitt MERKMALE beschriebenen Merkmale verwenden. Alternativ kann ein Argumentnone
verwandt werden, um anzuzeigen, dass keine Identitätsdatei geladen werden soll.Es ist möglich, in Konfigurationsdateien mehrere Identitäten festgelegt zu haben. Alle diese Identitäten werden nacheinander versucht. Mehrere Direktiven
IdentityFile
fügen zu der Liste der versuchten Identitäten hinzu (dieses Verhalten unterscheidet sich von dem anderer Konfigurationsdirektiven).IdentityFile
kann zusammen mitIdentitiesOnly
verwandt werden, um auszuwählen, welche Identitäten im Vermittler während der Authentifizierung angeboten werden.IdentityFile
kann auch zusammen mitCertificateFile
verwandt werden, um alle Zertifikate bereitzustellen, die auch für die Authentifizierung mit der Identität benötigt werden. IgnoreUnknown
- Legt eine Musterliste von unbekannten Optionen fest, die ignoriert werden
sollen, falls sie beim Auswerten von Konfigurationen angetroffen werden.
Dies kann zur Unterdrückung von Fehlern verwandt werden, falls
ssh_config
Optionen enthält, die von ssh(1) nicht erkannt werden. Es wird empfohlen, dassIgnoreUnknown
im Anfangsbereich der Konfigurationsdatei aufgeführt wird, da es nicht auf unbekannte Optionen angewandt wird, die davor stehen. Include
- Bindet die festgelegten Konfigurationsdatei(en) ein. Es können
mehrere Pfadnamen angegeben werden und jeder Pfadname kann
glob(7) -Platzhalter enthalten und
für Benutzerkonfigurationen auch Shell-artige
»~«-Referenzen auf Home-Verzeichnisse von Benutzern.
Platzhalter werden expandiert und in lexikalischer Reihenfolge
verarbeitet. Dateien ohne absoluten Pfadnamen werden im Verzeichnis
~/.ssh angenommen, falls sie Teil einer
Benutzerkonfigurationsdatei sind, oder in
/etc/ssh, falls sie von einer
Systemkonfigurationsdatei eingebunden werden. Die Direktive
Include
kann innerhalb einesMatch
- oderHost
-Blocks auftauchen, um bedingte Einbindung durchzuführen. IPQoS
- Legt die IPv4-Dienstetyp- oder DSCP-Klasse für Verbindungen fest.
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 undnone
, um die Vorgabe des Betriebssystems zu verwenden. Diese Option akzeptiert ein oder zwei, durch Leerraum getrennte Argumente. Falls ein Argument festgelegt ist, wird es bedingungslos als Paketklasse verwandt. Falls zwei Argumente festgelegt sind, wird das erste automatisch für interaktive Sitzungen ausgewählt und das zweite für nichtinteraktive Sitzungen. Die Vorgabe istaf21
(Daten mit geringer Verzögerung) für interaktive Sitzungen undcs1
(geringerer Aufwand) für nichtinteraktive Sitzungen. KbdInteractiveAuthentication
- Legt fest, ob interaktive Authentifizierung mit der Tastatur verwandt
wird. Das Argument für dieses Schlüsselwort muss
yes
(die Vorgabe) oderno
sein.ChallengeResponseAuthentication
ist ein veralteter Alias hierfür. KbdInteractiveDevices
- Legt die Liste der Methoden fest, die bei interaktiver Authentifizierung
mit der Tastatur verwandt werden. Mehrere Methodennamen müssen
durch Kommata getrennt werden. Die Vorgabe ist die Verwendung der vom
Server festgelegten Liste. Die verfügbaren Methoden hängen
von der Unterstützung durch den Server ab. Für einen
OpenSSH-Server kann diese eines oder mehrere aus
bsdauth
undpam
sein. KexAlgorithms
- Legt die verfügbaren KEX- (Schlüsselaustausch-) Algorithmen
fest. Mehrere Algorithmen müssen durch Kommata getrennt werden.
Falls die festgelegte Liste mit einem »+« beginnt, dann
werden die angegebenen Algorithmen an die Vorgabemenge angehängt,
statt diese zu ersetzen. Falls die angegebene Liste mit einem
»-« beginnt, dann werden die angegebenen Algorithmen
(einschließlich Platzhalter-Zeichen) aus der Vorgabemenge entfernt,
statt sie zu ersetzen. Falls die angegebene Liste mit einem
»^« beginnt, dann werden die angegebenen Algorithmen am
Anfang der Vorgabemenge abgelegt. 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 kex" erhalten werden.
KnownHostsCommand
- Legt einen Befehl fest, der zum Erlangen des Rechnerschlüssels
verwandt werden soll, zusätzlich zu den in
UserKnownHostsFile
undGlobalKnownHostsFile
aufgeführten. Dieser Befehl wird ausgeführt, nachdem diese Dateien gelesen wurden. Er kann Rechnerschlüsselzeilen auf die Standardausgabe schreiben, in einem Format, das identisch zu gewöhnlichen Dateien ist (beschrieben im Abschnitt RECHNERSCHLÜSSEL ÜBERPRÜFEN in ssh(1)). Argumente fürKnownHostsCommand
akzeptieren die in MERKMALE beschriebenen Merkmale. Dieser Befehl kann mehrfach pro Verbindung aufgerufen werden; einmal bei der Vorbereitung der Vorzugsliste der zu verwendenden Rechnerschlüsselalgorithmen, dann wieder, um den Rechnerschlüssel für den angeforderten Rechnernamen zu erlangen und, fallsCheckHostIP
aktiviert ist, noch einmal, um den Rechnerschlüssel zu erlangen, der auf die Adresse des Servers passt. Falls der Befehl sich nicht normal beendet oder ein von Null verschiedenen Exit-Status zurückliefert, wird die Verbindung beendet. LocalCommand
- Legt einen Befehl fest, der nach erfolgreicher Verbindung zum Server auf
der lokalen Maschine ausgeführt werden soll. Die
Befehlszeichenkette geht bis zum Zeilenende und wird in der Shell des
Benutzers ausgeführt. Die Argumente von
LocalCommand
akzeptieren die im Abschnitt MERKMALE beschriebenen Merkmale.Der Befehl wird synchron ausgeführt und muss keinen Zugriff auf die Sitzung von ssh(1) haben, die ihn erzeugte. Er sollte nicht für interaktive Befehle verwandt werden.
Diese Direktive wird ignoriert, außer
PermitLocalCommand
wurde aktiviert. LocalForward
- Legt fest, dass ein TCP-Port auf der lokalen Maschine über den
sicheren Kanal zu dem festgelegten Rechner und Port auf der fernen
Maschine weitergeleitet wird. Das erste Argument legt den auf Anfragen
Wartenden fest und kann
[Anbindeadresse:]Port oder ein
Unix-Domain-Socket-Pfad sein. Das zweite Argument ist das Ziel und kann
Rechner:Rechnerport oder ein
Unix-Domain-Socket-Pfad sein, falls dies der ferne Rechner
unterstützt.
IPv6-Adressen können durch Einschluss in eckige Klammern festgelegt werden. Es können mehrere Weiterleitungen festgelegt werden und zusätzliche Weiterleitungen können auf der Befehlszeile übergeben werden. Nur der Administrator kann privilegierte Ports weiterleiten. Standardmäßig ist der lokale Port gemäß der Einstellung
GatewayPorts
angebunden. Allerdings kann eine explizite Anbindeadresse verwandt werden, um die Verbindung an eine bestimmte Adresse anzubinden. Wirdlocalhost
als Anbindeadresse verwandt, so zeigt dies an, dass der Port, an dem auf Anfragen gewartet werden soll, nur für die lokale Verwendung angebunden ist, während eine leere Adresse oder »*« anzeigt, dass der Port von allen Schnittstellen aus verfügbar sein soll. Unix-Domain-Sockets können die im Abschnitt MERKMALE beschriebenen Merkmale und die im Abschnitt UMGEBUNGSVARIABLEN beschriebenen Umgebungsvariablen verwenden. LogLevel
- Gibt die Ausführlichkeitsstufe an, die beim Protokollieren von Nachrichten von ssh(1) verwandt werden soll. Die möglichen Werte sind: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 und DEBUG3. Die Vorgabe ist INFO. DEBUG und DEBUG1 sind äquivalent. DEBUG2 und DEBUG3 geben jeweils eine höhere Stufe der Ausführlichkeit der Ausgabe an.
LogVerbose
- Legt eine oder mehrere Außerkraftsetzungen für LogLevel
fest. Eine Außerkraftsetzung besteht aus einer Musterliste, die auf
die Quelldatei, Funktion und Zeilennummer passt, für die
detaillierte Protokollierung erzwungen werden soll. Beispielsweise
würde ein Außerkraftsetzungsmuster
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
- Legt die MAC- (Nachrichtenauthentifizierungscode-)Algorithmen fest, in der
Reihenfolge der Präferenz. Der MAC-Algorithmus wird für den
Datenintegritätsschutz verwandt. Mehrere Algorithmen müssen
durch Kommata getrennt werden. Beginnt die festgelegte Liste mit einem
»+«, dann werden die festgelegten Algorithmen an die
Vorgabemenge angehängt, statt diese zu ersetzen. Beginnt die
festgelegte Liste mit einem »-«, dann werden die
festgelegten Algorithmen (einschließlich Platzhalter-Zeichen) aus
der Vorgabemenge entfernt, statt diese zu ersetzen. Beginnt die
festgelegte Liste mit einem »^«, dann werden die
festgelegten Algorithmen an den Anfang der Vorgabemenge gelegt.
Die Algorithmen, die "-etm" enthalten, berechnen die MAC nach der Verschlüsselung ((encrypt-then-mac). Diese werden als sicherer betrachtet und ihr Einsatz wird empfohlen.
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.
NoHostAuthenticationForLocalhost
- Deaktiviert Rechner-basierte Authentifizierung für Localhost
(Loopback-Adresse). Das Argument für dieses Schlüsselwort
muss
yes
oderno
(die Vorgabe) sein. NumberOfPasswordPrompts
- Legt die Anzahl der Passworteingabeaufforderungen fest, bevor aufgegeben wird. Das Argument für dieses Schlüsselwort muss eine Ganzzahl sein. Die Vorgabe ist 3.
ObscureKeystrokeTiming
- Legt fest, ob ssh(1) versuchen
soll, den zeitlichen Ablauf von Tastaturanschlägen gegenüber
passiven Beobachtern des Netzwerkverkehrs zu verschleiern. Falls
aktiviert, dann wird ssh(1) bei
interaktiven Sitzungen die Tastaturanschläge in festen
Zeitintervallen von wenigen zehn Mikrosekunden senden und fingierte
Tastaturanschlagspakete einige Zeit nachdem das Tippen aufhört. Das
Argument für dieses Schlüsselwort muss
yes
,no
oder ein Intervallkennzeichner der Forminterval:Millisekunden
(z.B.interval:80
für 80 Millisekunden) sein. Standardmäßig werden Tastaturanschläge mittels eines 20 ms Paketintervalls verschleiert. Beachten Sie, dass kleinere Intervalle zu höheren Paketraten fingierter Tastaturanschläge führen werden. PasswordAuthentication
- Legt fest, ob Passwort-Authentifizierung verwandt werden soll. Das
Argument für dieses Schlüsselwort muss
yes
(die Vorgabe) oderno
sein. PermitLocalCommand
- Erlaubt die Ausführung lokaler Befehle mittels der Option
LocalCommand
oder mittels der Maskiersequenz!
Befehl in ssh(1). Das Argument mussyes
oderno
(die Vorgabe) sein. PermitRemoteOpen
- Legt das Ziel fest, zu dem TCP-Port-Weiterleitung erlaubt ist, wenn
RemoteForward
als SOCKS-Proxy verwandt wird. Die Weiterleitungsfestlegung muss eine der folgenden Formen annehmen:PermitRemoteOpen
Rechner:PortPermitRemoteOpen
IPv4-Adresse:PortPermitRemoteOpen
[IPv6-Adresse]:Port
Mehrere 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 Argumentnone
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. PKCS11Provider
- Legt fest, welcher PKCS#11-Anbieter verwandt werden soll oder
none
(die Vorgabe), dass kein Anbieter verwandt werden soll. Das Argument für dieses Schlüsselwort ist ein Pfad zu einer dynamischen PKCS#11-Bibliothek, die ssh(1) zur Kommunikation mit einem PKCS#11-Token verwenden soll, der Schlüssel für die Benutzerauthentifizierung bereitstellt. Port
- Legt die Nummer des Ports fest, mit dem auf dem fernen Rechner verbunden werden soll. Die Vorgabe ist 22.
PreferredAuthentications
- Legt die Reihenfolge fest, in der die Clients Authentifizierungsmethoden
ausprobieren sollen. Dies erlaubt es Clients, eine bestimmte Methode (z.B.
keyboard-interactive
) gegenüber anderen Methoden (z.B.password
) zu bevorzugen. Die Vorgabe lautet:gssapi-with-mic,hostbased,publickey, keyboard-interactive,password
ProxyCommand
- Legt den für Verbindungen zum Server zu verwendenden Befehl fest.
Die Befehlszeichenkette geht bis zum Zeilenende und wird mittels der
‘
exec
’ -Direktive der Shell des Benutzers ausgeführt, um einen schleppenden Shell-Prozess zu vermeiden.Argumente für
ProxyCommand
akzeptieren die im Abschnitt MERKMALE beschriebenen Merkmale. Der Befehl kann im Prinzip alles sein, und sollte von seiner Standardeingabe einlesen und zur Standardausgabe schreiben. Er sollte sich schließlich mit einem sshd(8) -Server verbinden, der auf irgendeiner Maschine läuft, odersshd -i
irgendwo ausführen. Die Schlüsselverwaltung erfolgt mittels desHostname
des Rechners, zu dem verbunden wird (standardmäßig der Name, den der Benutzer eingegeben hat). Durch Setzen des Befehl aufnone
wird diese Option komplett deaktiviert. Beachten Sie, dassCheckHostIP
für Verbindungen mit einem Proxy-Befehl nicht verfügbar ist.Diese Direktive ist im Zusammenspiel mit nc(1) und seiner Proxy-Unterstützung nützlich. Die folgende Direktive würde sich beispielsweise mittels eines HTTP-Proxys zu 192.0.2.0 verbinden:
ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
ProxyJump
- Legt einen oder mehrere Sprung-Proxys als entweder
[Benutzer@]Rechner[:Port]
oder als eine SSH-URI fest. Mehrere Proxys können durch Kommata
getrennt werden. Diese werden der Reihe nach besucht. Durch Setzen dieser
Option wird sich ssh(1) mit dem
Zielrechner verbinden, indem es zuerst eine
ssh(1) -Verbindung zu dem
festgelegten
ProxyJump
-Rechner aufbaut und dann eine TCP-Weiterleitung zu dem endgültigen Ziel von dort aus aufbaut. Durch Setzen des Rechners aufnone
wird diese Option komplett deaktiviert.Beachten Sie, dass diese Option im Wettstreit mit der Option
ProxyCommand
steht - die zuerst angegebene wird die nachfolgende nicht wirksam werden lassen.Beachten Sie auch, dass die Konfiguration für den Zielrechner (entweder auf der Befehlszeile übergeben oder aus der Konfigurationsdatei) im Allgemeinen für Sprung-Rechner nicht angewandt wird. Verwenden Sie ~/.ssh/config, falls für den Sprungrechner spezielle Konfiguration notwendig ist.
ProxyUseFdpass
- Legt fest, dass
ProxyCommand
einen verbundenen Dateideskriptor an ssh(1) zurückgeben wird, statt weiter auszuführen und Daten zu übergeben. Die Vorgabe istno
. PubkeyAcceptedAlgorithms
- Legt die Signaturalgorithmen als Kommata-getrennte Liste von Mustern fest,
die für asymmetrische Authentifizierung verwandt werden sollen.
Falls die festgelegte Liste mit einem »+« beginnt, dann
werden die danach festgelegten Algorithmen an die Vorgabemenge
angehängt, statt diese zu ersetzen. Falls die festgelegte Liste mit
einem »-« beginnt, dann werden die festgelegten Algorithmen
(einschließlich Platzhalter-Zeichen) aus der Vorgabemenge entfernt,
statt sie zu ersetzen. Falls die festgelegte Liste mit einem
»^« beginnt, dann werden die festgelegten Algorithmen am
Anfang der Vorgabemenge abgelegt. Die Vorgabe für diese Option
lautet:
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.
PubkeyAuthentication
- Legt fest, ob asymmetrische Authentifizierung versucht werden soll. Das
Argument dieses Schlüsselwortes muss
yes
(die Vorgabe),no
,unbound
oderhost-bound
sein. Die letzteren zwei Optionen aktivieren asymmetrische Authentifizierung bei gleichzeitiger Deaktivierung bzw. Aktivierung der rechnergebundenen Authentifizierungsprotokollerweiterung von OpenSSH, die zur Beschränkung der ssh-agent(1) -Weiterleitung benötigt wird. RekeyLimit
- Legt die maximale Menge an Daten fest, die übetragen oder empfangen
werden dürfen, bevor der Sitzungsschlüssel neu ausgehandelt
wird. Optional kann eine maximale Zeitdauer anhängt werden, die
vergehen darf, bevor der Sitzungsschlüssel neu ausgehandelt wird.
Das erste Argument wird in Bytes angegeben und darf die Endungen
»K« (für Kilobyte), »M« (für
Megabyte) oder »G« (für Gigabyte) tragen. Die Vorgabe
liegt zwischen »1G« und »4G«, abhängig
von der Chiffre. Der optionale zweite Wert wird in Sekunden festgelegt und
kann jede der im Abschnitt TIME FORMATS von
sshd_config(5) angegebenen
Einheiten verwenden. Der Vorgabewert für
RekeyLimit
istdefault none
. Dies bedeutet, dass Schlüsselneuaushandlung durchgeführt wird, wenn die Vorgabemenge der Chiffre von Daten gesandt oder empfangen wurde und keine zeitbasierte Schlüsselneuaushandlung erfolgt. RemoteCommand
- Legt einen Befehl fest, der nach erfolgreicher Anmeldung am Server auf der
fernen Maschine ausgeführt werden soll. Die Befehlszeichenkette
geht bis zum Zeilenende und wird mit der Shell des Benutzers
ausgeführt. Argumente für
RemoteCommand
akzeptieren die im Abschnitt MERKMALE beschriebenen Merkmale. RemoteForward
- Legt fest, dass ein TCP-Port auf der fernen Maschine über den
sicheren Kanal weitergeleitet wird. Der ferne Port kann entweder zu einem
festgelegten Rechner und Port von der lokalen Maschine weitergeleitet
werden oder er kann als SOCKS-4/5-Proxy agieren, der es einem fernen
Client erlaubt, sich zu beliebigen Zielen von der lokalen Maschine zu
verbinden. Das erste Argument ist die Festlegung für das Warten auf
Anfragen. Dieses kann entweder
[Anbindeadresse:]Port oder ein
Unix-Domain-Socketpfad sein, falls der ferne Rechner dies
unterstützt. Falls zu einem bestimmten Ziel weitergeleitet wird,
dann muss das zweite Argument
Rechner:Rechnerport oder ein
Unix-Domain-Socketpfad sein. Andernfalls wird das ferne Weiterleiten als
ein SOCKS-Proxy realisiert, falls kein Zielargument festgelegt ist. Wird
als SOCKS-Proxy agiert, dann kann das Ziel der Verbindung mittels
PermitRemoteOpen
eingeschränkt werden.Durch Einschluss der Adresse in eckigen Klammern werden IPv6-Adressen festgelegt. Mehrere Weiterleitungen können festgelegt werden und zusätzliche Weiterleitungen können auf der Befehlszeile übergeben werden. Privilegierte Ports können nur nach Anmeldung als root auf der fernen Maschine weitergeleitet werden. Unix-Domain-Socketpfade können die im Abschnitt MERKMALE beschriebenen Merkmale und die im Abschnitt UMGEBUNGSVARIABLEN beschriebenen Umgebungsvariablen verwenden.
Falls das Argument Port 0 ist, dann wird der Port, an dem auf Anfragen gewartet wird, dynamisch vom Server zugewiesen und dem Client zur Laufzeit übermittelt.
Falls die Anbindeadresse nicht festgelegt ist, dann wird standardmäßig nur an die Loopback-Adresse angebunden. Falls die Anbindeadresse ‘
*
’ oder die leere Zeichenkette ist, dann wird die Weiterleitung gebeten, auf allen Schnittstellen auf Anfragen zu warten. Die Festlegung einer fernen Anbindeadresse wird nur erfolgreich sein, falls die OptionGatewayPorts
des Servers aktiviert ist (siehe sshd_config(5)). RequestTTY
- Legt fest, ob ein Pseudo-TTY für die Sitzung erbeten werden soll.
Das Argument kann entweder
no
(niemals ein TTY erbeten),yes
(immer ein TTY erbeten, wenn die Standardeingabe ein TTY ist),force
(immer ein TTY erbeten) oderauto
(ein TTY erbeten, wenn eine Anmeldesitzung eröffnet wird) sein. Diese Option spiegelt die Schalter-t
und-T
von ssh(1). RequiredRSASize
- Legt die minimale RSA-Schlüsselgröße (in Bit) fest,
die ssh(1) akzeptieren wird.
Benutzer-Authentifizierungsschlüssel, die kleiner als diese
Begrenzung sind, werden ignoriert. Server, die rechnerbasierte
Schlüssel präsentieren, die kleiner als diese Begrenzung
sind, führen dazu, dass die Verbindung beendet wird. Die Vorgabe
ist
1024
bit. Beachten Sie, dass diese Beschränkung von der Vorgabe her nur angehoben werden kann. RevokedHostKeys
- Legt gesperrte öffentliche Rechnerschlüssel fest. Bei denen
in dieser Datei aufgeführten Schlüsseln wird
Rechner-Authentifizierung abgelehnt. Beachten Sie, dass
Rechner-Authentifizierung für alle Rechner abgelehnt wird, falls
diese Datei nicht existiert oder nicht lesbar ist. Schlüssel
müssen als Textdatei festgelegt werden, wobei ein
öffentlicher Schlüssel pro Zeile aufgeführt wird,
oder als eine OpenSSH-Schlüsselsperrliste (KRL), wie sie von
ssh-keygen(1) erstellt wird.
Für weitere Informationen über KRLs lesen Sie den Abschnitt
SCHLÜSSELSPERRLISTEN in
ssh-keygen(1). Argumente
für
RevokedHostKeys
können die Tilde-Syntax verwenden, um sich auf das Home-Verzeichnis eines Benutzer, den im Abschnitt MERKMALE beschriebenen Merkmalen und den in Abschnitt UMGEBUNGSVARIABLEN beschriebenen Umgebungsvariablen zu beziehen. SecurityKeyProvider
- Gibt einen Pfad zu einer Bibliothek an, die beim Laden jedes
FIDO-Authentifikator-basierten Schlüssels verwandt wird. Dies setzt
die standardmäßige, eingebaute USB-HID-Unterstützung
außer Kraft.
Falls der festgelegte Wert mit einem »$« beginnt, dann wird er als Umgebungsvariable behandelt, die den Pfad zu der Bibliothek enthält.
SendEnv
- Legt fest, welche Variablen von der lokalen
environ(7) zum Server gesendet
werden sollen. Der Server muss dies unterstützen und zu deren
Empfang konfiguriert sein. Beachten Sie, dass die Umgebungsvariable
TERM
immer gesandt wird, wenn ein Pseudo-Terminal erbeten wird, da sie vom Protokoll benötigt wird. Zur Konfiguration des Servers lesen SieAcceptEnv
in sshd_config(5). Variablen werden durch den Namen festgelegt und können Platzhalterzeichen enthalten. Mehrere Umgebungsvariablen können durch Leerraum getrennt oder über mehrereSendEnv
-Direktiven verteilt werden.Siehe MUSTER für weitere Informationen über Muster.
Vorher gesetzte
SendEnv
-Variablen können zurückgesetzt werden, indem ihnen - vorangestellt wird. Standardmäßig werden keine Umgebungsvariablen gesandt. ServerAliveCountMax
- Setzt die Anzahl der (nachfolgend beschriebenen) Lebensmeldungen, die
gesendet werden können, ohne dass
ssh(1) eine Nachricht vom Server
zurück erhält. Falls diese Schwelle erreicht wird,
während die Lebensmeldungen des Servers gesandt werden, wird Ssh
die Verbindung zum Server trennen und die Sitzung beenden. Es ist wichtig
anzumerken, dass der Einsatz der Lebensmeldungen sich sehr von
TCPKeepAlive
(siehe unten) unterscheidet. Die Server-Lebensmeldungen werden durch den verschlüsselten Kanal übersandt und können daher nicht gefälscht werden. Die mittelsTCPKeepAlive
aktivierte TCP-Keepalive-Option kann gefälscht werden. Der Server-Lebensmechanismus ist wertvoll, wenn der Client oder Server davon abhängen, zu wissen, wann die Verbindung aufhörte, zu reagieren.Der Vorgabewert ist 3. Falls beispielsweise
ServerAliveInterval
(siehe unten) auf 15 gesetzt ist undServerAliveCountMax
auf der Vorgabe verbleibt, dann wird Ssh nach ca. 45 Sekunden die Verbindung trennen, falls der Server nicht mehr reagiert. ServerAliveInterval
- Setzt ein Zeitüberschreitungsintervall in Sekunden, nach der ssh(1) eine Nachricht durch den verschlüsselten Kanal senden und um eine Reaktion vom Server bitten wird, falls keine Daten vom Server empfangen wurden. Die Vorgabe ist 0, was anzeigt, dass diese Nachrichten nicht an den Server gesandt werden.
SessionType
- Kann zur Erbitten eines Subsystems auf dem fernen Rechner oder zur
kompletten Verhinderung eines fernen Befehlsaufrufs verwandt werden.
Letzteres ist nützlich, um nur Ports weiterzuleiten. Das Argument
für dieses Schlüsselwort muss
none
(wie bei der Option-N
),subsystem
(wie bei der Option-s
) oderdefault
(Shell oder Befehlsausführung) sein. SetEnv
- Legt das Senden von einer oder mehrerer Umgebungsvariablen und ihren
Inhalt an den Server direkt fest. Ähnlich zu
SendEnv
, mit Ausnahme der VariableTERM
, muss der Server bereit sein, Umgebungsvariablen zu akzeptieren. StdinNull
- Leitet Stdin von /dev/null um (verhindert
tatsächlich das Lesen von Stdin). Entweder dies oder die
äquivalente Option
-n
muss verwandt werden, wennssh
im Hintergrund ausgeführt wird. Das Argument für dieses Schlüsselwort mussyes
(wie bei der Option-n
) oderno
(die Vorgabe) sein. StreamLocalBindMask
- Setzt die oktale Dateierstellungsmaske (umask), die bei der Erstellung
einer Unix-Domain-Socket-Datei für lokale oder ferne
Port-Weiterleitung verwandt werden soll. Diese Option wird nur für
Port-Weiterleitungen zu einer Unix-Domain-Socket-Datei verwandt.
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
- Legt fest, ob eine bestehende Unix-Domain-Socket-Datei für lokale
oder ferne Port-Weiterleitung entfernt werden soll, bevor eine neue
erstellt wird. Falls die Socket-Datei bereits existiert und
StreamLocalBindUnlink
nicht aktiviert ist, wirdssh
nicht in der Lage sein, den Port zu der Unix-Domain-Socket-Datei weiterzuleiten. Diese Option wird nur für Port-Weiterleitungen zu einer Unix-Domain-Socket-Datei verwandt.Das Argument muss
yes
oderno
(die Vorgabe) sein. StrictHostKeyChecking
- Falls dieser Schalter auf
yes
gesetzt ist, wird ssh(1) niemals automatisch Rechnerschlüssel zu der Datei ~/.ssh/known_hosts hinzufügen und es ablehnen, sich zu Rechnern zu verbinden, deren Rechner-Schlüssel sich geändert hat. Dies bietet einen maximalen Schutz gegen Man-in-the-middle- (MITM-)Angriffe. Es kann aber auch nervend sein, wenn die Datei /etc/ssh/ssh_known_hosts schlecht gepflegt wird oder wenn häufig Verbindungen zu neuen Rechnern erfolgen. Diese Option zwingt den Benutzer, alle neuen Rechner manuell hinzuzufügen.Falls dieser Schalter auf
accept-new
gesetzt ist, dann wird Ssh neue Rechnerschlüssel automatische zu den Dateien known_hosts der Benutzer hinzufügen, wird aber keine Verbindungen zu Rechnern mit geänderten Rechnerschlüsseln erlauben. Falls dieser Schalter aufno
oderoff
gesetzt ist, wird Ssh automatisch neue Rechnerschlüssel zu den Dateien der bekannten Rechner der Benutzer hinzufügen und mit dem Aufbau von Verbindungen zu Rechnern, deren Rechnerschlüssel sich geändert hat, fortfahren, allerdings unter ein paar Einschränkungen. Falls dieser Schalter aufask
(die Vorgabe) gesetzt ist, werden neue Rechnerschlüssel zu den Dateien der bekannten Rechner der Benutzer erst hinzugefügt, wenn der Benutzer bestätigt hat, dass er dies wirklich möchte. Auch wird Ssh Verbindungen zu Rechnern verweigern, deren Rechnerschlüssel sich geändert hat. Die Rechnerschlüssel aller bekannten Rechner werden automatisch in allen Fällen überprüft. SyslogFacility
- Gibt den Code der Einrichtung an, die beim Protokollieren von Nachrichten durch ssh(1) verwandt wird. Die möglichen Werte sind: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. Die Vorgabe ist USER.
TCPKeepAlive
- Legt fest, ob das System TCP-Keepalive-Meldungen zu der anderen Seite
senden soll. Falls diese gesandt werden, wird der Tod der Verbindung oder
der Absturz einer der beiden Maschinen korrekt bemerkt. Allerdings
bedeutet dies, dass die Verbindung abstürzt, falls die Route
temporär nicht existiert und einige Leute finden das nervend.
Die Vorgabe ist
yes
(TCP-Keepalive-Meldungen senden) und der Client wird es bemerken, wenn das Netzwerk ausfällt oder der ferne Rechner stirbt. Dies ist für Skripte wichtig, und viele Benutzer möchten es ebenfalls.Um TCP-Keepalive-Meldungen zu deaktivieren, sollte der Wert auf
no
gesetzt werden. Siehe auchServerAliveInterval
für Keepalives auf Protokoll-Ebene. Tag
- Gibt ein Konfigurationsmerkmalnamen an, der später über eine
Direktive
Match
zur Auswahl eines Konfigurationsblocks verwandt werden kann. Tunnel
- Fordert die tun(4)
-Geräteweiterleitung zwischen dem Client und dem Server an. Das
Argument muss
yes
,point-to-point
(Layer 3),ethernet
(Layer 2) oderno
(die Vorgabe) sein. Festlegung vonyes
fordert den Standard-Tunnelmodus (point-to-point
) an. TunnelDevice
- Legt die auf dem Client (lokaler_Tun) und dem Server
(ferner_Tun) zu öffnenden
tun(4) -Geräte fest.
Das Argument muss lokaler_Tun[:ferner_Tun] sein. Die Geräte können über die numerische Kennung oder das Schlüsselwort
any
, das das nächste verfügbare Tunnel-Gerät verwendet, festgelegt sein. Falls ferner_Tun nicht festgelegt ist, ist die Vorgabeany
. Die Vorgabe istany:any
. UpdateHostKeys
- Legt fest, ob ssh(1)
Benachrichtigungen vom Server über zusätzliche
Rechnerschlüssel akzeptieren soll, die gesandt werden, nachdem die
Authentifizierung abgeschlossen wurde, und diese dann zu
UserKnownHostsFile
hinzufügen soll. Das Argument mussyes
,no
oderask
sein. Diese Option erlaubt das Kennenlernen alternativer Rechnerschlüssel für einen Server und unterstützt taktvolle Schlüsselrotation, indem dem Server ermöglicht wird, den Ersatz für den öffentlichen Schlüssel zu senden, bevor die alten entfernt werden.Zusätzliche Rechnerschlüssel werden nur akzeptiert, falls dem zur Authentifizierung des Rechners verwandten Schlüssel bereits vertraut oder dieser vom Benutzer explizit akzeptiert wurde, der Rechner mittels
UserKnownHostsFile
(d.h. nichtGlobalKnownHostsFile
) authentifiziert wurde und der Rechner mittels einfachem Schlüssel und nicht einem Zertifikat authentifiziert wurde.UpdateHostKeys
ist standardmäßig aktiviert, falls der Benutzer nicht die VorgabeeinstellungUserKnownHostsFile
außer Kraft gesetzt und nichtVerifyHostKeyDNS
aktiviert hat. Andernfalls wirdUpdateHostKeys
aufno
gesetzt.Falls
UpdateHostKeys
aufask
gesetzt ist, wird der Benutzer um Bestätigungen bei Veränderungen an der Datei »known_hosts« gebeten. Bestätigungen sind derzeit mitControlPersist
inkompatibel und werden deaktiviert, falls das aktiviert ist.Derzeit unterstützen nur sshd(8) von OpenSSH 6.8 und neuere die "hostkeys@openssh.com" -Protokollerweiterung für die Information der Clients über alle Rechnerschlüssel des Servers.
User
- Legt den Benutzernamen fest, der bei der Anmeldung verwandet werden soll. Dies kann nützlich sein, wenn sich der Benutzername auf verschiedenen Maschinen unterscheidet. Dies erspart den Aufwand, daran zu denken, den Benutzernamen auf der Befehlszeile anzugeben.
UserKnownHostsFile
- Legt eine oder mehrere, durch Leerraum getrennte, Dateien fest, die
für die Rechnerschlüsseldatenbank des Benutzer verwandt
werden sollen. Jeder Dateiname kann die Tilde-Notation, um sich auf das
Home-Verzeichnis des Benutzers zu beziehen, die im Abschnitt
MERKMALE beschriebenen Merkmale und die
im Abschnitt
UMGEBUNGSVARIABLEN
beschriebenen Umgebungsvariablen verwenden. Der Wert
none
führt dazu, dass ssh(1) alle benutzerspezifischen Dateien bekannter Rechner ignoriert. Die Vorgabe ist ~/.ssh/known_hosts, ~/.ssh/known_hosts2. VerifyHostKeyDNS
- Legt fest, ob der ferne Schlüssel mittels DNS- und
SSHFP-Ressourcen-Datensätzen verifiziert werden soll. Falls diese
Option auf
yes
gesetzt ist, wird der Client implizit Schlüsseln vertrauen, die auf einen sicheren Fingerabdruck aus dem DNS passen. Unsichere Fingerabdrücke werden so gehandhabt, als ob die Option aufask
gesetzt worden wäre. Falls diese Option aufask
gesetzt ist, werden Informationen über Fingerabruck-Übereinstimmungen angezeigt, aber der Benutzer muss dennoch den neuen Rechnerschlüssel gemäß der OptionStrictHostKeyChecking
bestätigen. Die Vorgabe istno
.Siehe auch RECHNERSCHLÜSSEL ÜBERPRÜFEN in ssh(1).
VisualHostKey
- Falls dieser Schalter auf
yes
gesetzt ist, wird eine ASCII-Darstellung des Fingerabdrucks des fernen Rechners zusätzlich zur Zeichenkette mit dem Fingerabdruck selbst bei der Anmeldung und bei unbekannten Rechnerschlüsseln angezeigt. Falls dieser Schalter aufno
(die Vorgabe) gesetzt ist, werden keine Fingerabdruck-Zeichenketten beim Anmelden angezeigt und die Fingerabdruck-Zeichenkette wird nur für unbekannte Rechnerschlüssel dargestellt. XAuthLocation
- Legt den vollständigen Pfadnamen des Programms xauth(1) fest. Die Vorgabe ist /usr/bin/xauth.
MUSTER
Ein Muster besteht aus keinem oder mehreren, von Leerraum verschiedenen Zeichen, »*« (einem Platzhalter, der auf keines odere mehrere Zeichen passt) und »?« (einem Platzhalter, der auf genau ein Zeichen passt). Um beispielsweise eine Gruppe von Deklarationen für alle Rechner in der Menge der ".co.uk" -Domains festzulegen, könnte folgendes Muster verwandt werden:
Host *.co.uk
Das folgende Muster würde auf jeden Rechner in dem Netzwerkbereich 192.168.0.[0-9] passen:
Host 192.168.0.?
Eine Musterliste ist eine durch Kommata getrennte Liste von Mustern. Muster innerhalb von Musterlisten können negiert werden, indem ihnen ein Anführungszeichen (‘!’) vorangestellt wird. Um beispielsweise einem Schlüssel zu erlauben, von überall innerhalb der Organisation, außer aus dem "dialup" -Bereich verwandt zu werden, könnte folgender Eintrag (in »authorized_keys«) verwandt werden:
from="!*.dialup.example.com,*.example.com"
Beachten Sie, dass ein negierter Treffer niemals selbst positive Ergebnisse erzeugen wird. Wird beispielsweise versucht, "host3" mit der folgenden Musterliste zu vergleichen, so wird dies fehlschlagen:
from="!host1,!host2"
Die Lösung besteht darin, einen Ausdruck aufzunehmen, der zu einem positiven Vergleich führt, wie z.B. mit einem Platzhalter:
from="!host1,!host2,*"
MERKMALE
Argumente für manche Schlüsselwörter können Merkmale verwenden, die zur Laufzeit expandiert werden:
- %%
- Ein wörtliches »%«.
- %C
- Hash von %l%h%p%r%j.
- %d
- Das lokale Home-Verzeichnis des Benutzers.
- %f
- Der Fingerabdruck des Rechnerschlüssels des Servers.
- %H
- Der known_hosts Rechnername oder Adresse, nach der gesucht wird.
- %h
- Der ferne Rechnername.
- %I
- Eine Zeichenkette, die den Grund für eine
KnownHostsCommand
-Ausführung beschreibt: entwederADDRESS
, bei der Suche nach einem Rechner über die Adresse (nur wennCheckHostIP
aktiviert ist),HOSTNAME
, bei der Suche über Rechnernamen oderORDER
, bei der Vorbereitung der Liste der bevorzugten Rechnerschlüssel-Algorithmen, die für den Zielrechner verwandt werden soll. - %i
- Die lokale Benutzerkennung.
- %j
- Der Inhalt der Option ProxyJump oder die leere Zeichenkette, falls diese Option nicht gesetzt ist.
- %K
- Der Base64-kodierte Rechnerschlüssel.
- %k
- Der Rechnerschlüssel-Alias, falls festgelegt, andernfalls der ursprünglich auf der Befehlszeile übergebene ferne Rechnername.
- %L
- Der lokale Rechnername.
- %l
- Der lokale Rechnername, einschließlich des Domain-Namens.
- %n
- Der ursprüngliche ferne Rechnername, wie auf der Befehlszeile übergeben.
- %p
- Der ferne Port.
- %r
- Der ferne Benutzername.
- %T
- Die zugewiesene lokale tun(4) - oder tap(4) -Netzwerkschnittstelle, falls Tunnel-Weiterleitung erbeten wurde. Andernfalls "NONE".
- %t
- Die Art des Server-Rechner-Schlüssels, z.B.
ssh-ed25519
. - %u
- Der lokale Benutzername.
CertificateFile
,
ControlPath
, IdentityAgent
,
IdentityFile
,
KnownHostsCommand
,
LocalForward
, Match exec
,
RemoteCommand
,
RemoteForward
,
RevokedHostKeys
und
UserKnownHostsFile
akzeptieren die Merkmale %%, %C,
%d, %h, %i, %j, %k, %L, %l, %n, %p, %r und %u.
KnownHostsCommand
akzeptiert
zusätzlich die Merkmale %f, %H, %I, %K und %t.
Hostname
akzeptiert die Merkmale %% und
%h.
LocalCommand
akzeptiert alle Merkmale.
ProxyCommand
und
ProxyJump
akzeptieren die Merkmale %%, %h, %n, %p
und %r.
Beachten Sie, dass einige dieser Direktiven Befehle zur Ausführung mittels der Shell zusammenbauen. Da ssh(1) kein Filtern oder Maskieren der Zeichen, die eine besondere Bedeutung für Shell-Befehle haben (z.B. Anführungszeichen), durchführt, unterliegt es der Verantwortung des Benutzer sicherzustellen, dass die an ssh(1) übergebenen Argumente solche Zeichen nicht enthalten und das Merkmale entsprechend beim Einsatz maskiert sind.
UMGEBUNGSVARIABLEN
Argumente für einige Schlüsselwörter
können zur Laufzeit aus Umgebungsvariablen auf dem Client expandiert
werden, indem sie in ${}
eingeschlossen werden.
Beispielsweise würde sich ${HOME}/.ssh
auf
das .ssh-Verzeichnis des Benutzers beziehen. Falls eine festgelegte
Umgebungsvariable nicht existiert, wird ein Fehler zurückgeliefert
und die Einstellung für dieses Schlüsselwort wird
ignoriert.
Die Schlüsselwörter
CertificateFile
,
ControlPath
, IdentityAgent
,
IdentityFile
,
KnownHostsCommand
und
UserKnownHostsFile
unterstützen
Umgebungsvariablen. Die Schlüselwörter
LocalForward
und
RemoteForward
unterstützen Umgebungsvariablen
nur für Unix-Domain-Socket-Pfade.
DATEIEN
- ~/.ssh/config
- Dies ist die benutzerbezogene Konfigurationsdatei. Das Format dieser Datei ist weiter oben beschrieben. Diese Datei wird vom SSH-Client verwandt. Aufgrund der Gefahr des Missbrauchs muss diese Datei strengen Berechtigungen unterliegen: Lesen/Schreiben für den Benutzer und nicht schreibbar für andere.
- /etc/ssh/ssh_config
- Systemweite Konfigurationsdatei. Diese Datei stellt Vorgaben für die Werte bereit, die in der Konfigurationsdatei des Benutzers nicht festgelegt sind, und für die Benutzer, die keine Konfigurationsdatei haben. Die Datei muss für alle lesbar sein.
SIEHE AUCH
AUTOREN
OpenSSH ist eine Ableitung der ursprünglichen und freien SSH-1.2.12-Veröffentlichung durch Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt und Dug Song entfernten viele Fehler, fügten neue Funktionalitäten wieder hinzu und erstellten OpenSSH. Markus Friedl steuerte die Unterstützung für SSH-Protokollversion 1.5 und 2.0 bei.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 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: 10. Februar 2024 $ | Linux 6.10.10-arch1-1 |