ssh_config

Mit der Secure Shell sind interaktive Verbindungen ala Telnet möglich. Allerdings sind diese Übertragungen verschlüsselt. Ausserdem kann die Art der Authentisierung eingestellt werden. Es ist möglich, sich ohne Password durch einen vorher ausgetauschten Schlüssel zu authentifizieren. Hier handelt es sich um eine Beschreibung der zentralen Client-Konfiguration auf Linux-Systemen.

Eingaben in spitzen Klammern "<" und ">" sind Text-Angaben. Wenn Sie nicht durch andere Symbole relativiert werden, sind sie zwingend. Der Inhalt ist vom Kontext abhängig.
Angaben in eckigen Klammern "[" und "]" sind optional.
Bei Parametern, die durch ein Pipe-Symbol "|" getrennt sind, muss eine der angegeben Optionen eingetragen werden.

Host <Hostname>|<IP-Adresse>|* Mit dieser Anweisung wird ein wird ein Konfigurationsblock für das oder die angegebenen Geräte eingeleitet. Es können einzelne Rechner oder Netze angegeben werden. * und ? sind als Wildcards erlaubt. Ein einzelner * steht als Wildcard für alle. Diese Anweisung kann mehrfach für unterschiedliche Hosts in einer Konfigurationsdatei vorkommen. Die nachfolgenden Optionen (bis zum nächsten Host-Schlüsselwort) beziehen sich ausschließlich auf die in der vorangehenden Host-Anweisung angegebenen Geräte.
AFSTokenPassing yes|no Definiert, ob AFS-Tokens an den entfernten Rechner übermittelt werden.
Erlaubte Werte sind "yes" oder "no".
BatchMode yes|no Wenn diese Option aktiviert ist, wird keine Passwort-Abfrage durchgeführt. Das ist nützlich bei automatisierten Abläufen ohne Benutzereingriff.
Erlaubte Werte sind "yes" oder "no".
CheckHostIP yes|no Wenn diese Option gesetzt ist, wird die IP-Adresse des entfernten Rechners zusätzlich anhand der known_hosts-Datei überprüft. Damit kann DNS-Spoofing festgestellt werden. Ist die Option auf "no" gesetzt, wird keine Überprüfung durchgeführt.
Erlaubte Werte sind "yes" oder "no".
Cipher 3des|blowfish
Cipher 3des|blowfish|idea|des|arcfour|twofish|...
Diese Option legt die Verschlüsselung der Übertragung fest. OpenSSH unterstützt aus patentrechtlichen Gründen nur die Verfahren "blowfish" und "3des".
Default: "3des".
Die "alte" Version der SSH bietet mehrere unterschiedliche Verschlüsselungen an. Einige dieser Verfahren (z. B. "idea", "arcfour") sind durch Patente geschützt und dürfen nicht unter den Bedingungen der GPL genutzt werden.
Ciphers [<Schlüssel>][,<Schlüssel>]..... Diese Option definiert die Schlüssel für die Protokoll-Version 2 in der Reihenfolge, wie sie angegeben werden. Mehrere Schlüssel müssen durch Kommata getrennt werden.
Default: "3des-cbc,blowfish-cbc,arcfour,cast128-cbc"
Compression yes|no Legt fest, ob Compression verwendet wird.
Erlaubte Werte sind "yes" oder "no".
CompressionLevel <[1-9]> Legt den Grad der Komprimierung fest. Diese Option ist nur wirksam, wenn Compression auf "yes" gesetzt ist.
Erlaubt sind ganzahlige Werte zwischen 1 (schnell) und 9 (langsam, beste Kompression). Die Bedeutung der Werte entspricht den Werten bei gzip1).
Default: "6"
ConnectionAttempts <Zahl> Legt fest, wieviele Verbindungsversuche (jeweils einer pro Sekunde) unternommen werden, bevor auf die rsh2) zurückgegriffen, oder das Programm beendet wird.
Es sind nur ganzahlige Werte erlaubt.
DSAAuthentication yes|no Legt fest, ob DSA-Authentisierung durchgeführt werden soll. DSA-Authentisierung wird nur versucht, wenn ein DSA-Schlüssel vorhanden ist. Diese Option setzt die Verwendung der Protokoll-Version 2 voraus.
Erlaubte Werte sind "yes" oder "no".
EscapeCharacter <Zeichen> Welches Zeichen wird als Einleitung einer Escape-Sequenz verstanden. Es sollte ein einzelnes Zeichen, ein "^" gefolgt von einem Zeichen, oder "none" verwendet werden. Wird "none" verwendet, ist die Verbindung transparent für binäre Daten.
Default: "~"
FallBackToRsh yes|no Definiert, ob auf rsh2) zurückgegriffen werden soll, wenn die SSH-Verbindung nicht zustande kommt.
Erlaubte Werte sind "yes" oder "no".
ForwardAgent yes|no Legt fest, ob die Verbindung zum Authentisierungs-Agenten (sofern vorhanden) an den entfernten Rechner weitergeleitet werden soll.
Erlaubte Werte sind "yes" oder "no".
ForwardX11 yes|no Mit dieser Option wird definiert, ob die Ausgabe von X11-Programmen direkt an den entfernten Rechner weitergeleitet, und die Variable DISPLAY entsprechend gesetzt werden soll.
Erlaubte Werte sind "yes" oder "no".
GatewayPorts yes|no Mit diesem Schlüssel wird festgelegt, ob der entfernte Rechner sich mit lokal weitergeleiteten Ports verbinden darf.
Erlaubte Werte sind "yes" oder "no".
Default: "no"
GlobalKnownHostsFile <Dateiname> Gibt an, welche Datei an Stelle von /etc/ssh_known_hosts verwendet werden soll.
HostName <Name> Legt fest, mit welchem Server eine Verbindung aufgebaut werden soll.
Es sind Hostnamen oder IP-Adressen erlaubt.
Default: Der mit der Kommandozeile übergebene Host
IdentityFile <Dateiname> Legt fest, welche Datei den Schlüssel für die RSA Authentisierung enthält.
Die Angabe mehrerer Dateien ist zulässig. Die Identitäten werden der Reihe nach getestet, bis ein Schlüssel passt, oder kein weiterer Eintrag vorhanden ist. Zusätzlich werden alle Identitäten, die durch den Authentisierungs-Agenten angeboten werden, zur Authentisierung verwendet.
Default: .ssh/identity im Home-Verzeichnis des Users
IdentityFile2 <Dateiname> Legt fest, welche Datei den Schlüssel für die DSA Authentisierung enthält.
Die Angabe mehrerer Dateien ist zulässig. Die Identitäten werden der Reihe nach getestet, bis ein Schlüssel passt, oder kein weiterer Eintrag vorhanden ist.
Default: .ssh/id_dsa im Home-Verzeichnis des Users
KeepAlive yes|no Mit dieser Option wird definiert, ob das System Keepalive-Pakete an die entfernte Seite schicken soll. Ist die Option gesetzt, werden Leitungsausfälle oder der Absturz eines der beteiligten Rechner sicher erkannt. Bei Verbindungen über Weitverkehrsnetze kann es bei Routingproblemen zu Verbindungsabbrüchen kommen.
Ist die Option nicht gesetzt, kann eine abgebrochene Verbindung bis in "alle Ewigkeit" bestehen und zu sogenannten Geister-Usern führen, die dann unnötig Ressourcen belegen. Diese Einstellung muss bei Client und Server übereinstimmen.
Default: "yes"
KerberosAuthentication yes|no Legt fest, ob die Kerberos-Authentisierung erlaubt ist.
Erlaubte Werte sind "yes" oder "no".
KerberosTgtPassing yes|no Mit dieser Option wird festgelegt, ob ein Kerberos TGT an den Server weitergeleitet wird. Das funktioniert nur, wenn der Server ein Kerberos AFS Server ist.
Erlaubte Werte sind "yes" oder "no".
LocalForward <Port> <host:port> Mit dieser Option kann ein lokaler TCP/IP-Port über einen sicheren Kanal auf den Server weitergeleitet werden. Das erste Argument gibt den lokalen Port an. Das zweite Argument definiert auf dem Ziel-Rechner den Ziel-Port (host:port). Es können mehrere Weiterleitungen eingerichtet werden. Privilegierte Ports (< 1024) können ausschließlich vom Superuser root weitergeleitet werden.
LogLevel QUIET|FATAL|ERROR|INFO|CHAT|DEBUG Hier wird festgelegt, wie ausfühlich die Protokollierung von SSH sein soll.
Default: "INFO"3)
NumberOfPasswordPrompts <Zahl> Legt fest, wieviele Anmeldeversuche möglich sind.
Es sind nur positive ganzzahlige Werte erlaubt.
Default: "3"
PasswordAuthentication yes|no Definiert, ob die Passwort-Authentisierung benutzt werden soll.
Erlaubte Werte sind "yes" oder "no".
Port <Port> Legt fest, welcher TCP-Port wird für die Verbindung zum entfernten Host verwendet wird.
Default: "22"
Protocol <Protokoll-Version>[,<Protokoll-Version>] Mit dieser Option kann festgelegt werden, welche Protokoll-Version(en) und in welcher Reihenfolge diese unterstützt werden.
Default: "1,2"
ProxyCommand <Befehl> Legt fest, welches Kommando verwendet wird, um eine Verbindung zum Server herzustellen. Der Befehl wird mit /bin/sh ausgeführt. In der Befehlszeile enthaltene Makros "%h" und "%p" werden durch die in den Optionen HostName und Port definierten Werte ersetzt. Es kann jedes Kommando verwendet werden, das von "STDIN" liest und nach "STDOUT" schreibt. Es sollte schließlich eine Verbindung zu einem SSH-Dämon auf einem Server herstellen, oder auf einem entfernten Rachner den Befehl ssh -i ausführen. Hostkey-Management erfolgt mit dem Namen des verbundenen Rechners. Die Option CheckHostIP steht für Proxy-Verbindungen nicht zur Verfügung.
RemoteForward <Port> <host:port> Mit dieser Option kann ein TCP/IP-Port auf dem entfernten Rechner über einen sicheren Kanal auf einen lokalen Port weitergeleitet werden. Das erste Argument gibt den entfernten Port an. Das zweite Argument definiert auf dem lokalen Rechner den Ziel-Port (host:port). Es können mehrere Weiterleitungen eingerichtet werden. Privilegierte Ports (< 1024) können ausschließlich vom Superuser root weitergeleitet werden.
RhostsAuthentication yes|no Legt fest, ob Authentisierung auf Basis von rhosts4) erfolgen soll. Beachten Sie, dass diese Vereinbarung nur die Client-Seite betrifft und auf alle anderen sicherheitsrelevanten Einstellungen keinen Einfluss hat. Deaktivieren dieser Option kann die Zeit für die Authentisierung auf langsamen Verbindungen reduzieren, wenn rhosts-Authentisierung nicht genutzt wird. Die meisten Server erlauben keine rhosts-Authentisierung, da dieses Verfahren unsicher ist5).
Erlaubte Werte sind "yes" oder "no".
RhostsRSAAuthentication yes|no Legt fest, ob Authentisierung durch das rhosts-Verfahren mit RSA-Schlüsseln erfolgt. Dies ist die primäre Authentisierungsmethode der meisten Systeme.
Erlaubte Werte sind "yes" oder "no".
RSAAuthentication yes|no Legt fest, ob Authentisierung durch RSA-Schlüssel erfolgt. Authentisierung durch dieses Verfahren wird nur versucht, wenn die identity-Datei existiert, oder ein Authentisierungsagent läuft.
Erlaubte Werte sind "yes" oder "no".
SkeyAuthentication yes|no Legt fest, ob Authentisierung durch Skey-Schlüssel erfolgt.
Erlaubte Werte sind "yes" oder "no".
Default: "no"
StrictHostKeyChecking yes|no Wenn diese Option gesetzt ist, wird SSH einen Host-Schlüssel niemals automatisch in die Datei $HOME/.ssh/known_hosts eintragen. Verbindungen zur Rechnern, deren Host-Schlüssel sich geändert hat, werden abgewiesen. Das stellt das Maximum an Schutz gegen Angriffe mittels "IP-Spoofing" dar. Allerdings kann es lästig werden, wenn sich öfters neue, oder neu installierte Rechner mit SSH-Servern verbinden wollen. Diese Option zwingt den Anwender, jeden neuen Rechner von Hand einzutragen. Normalerweise ist diese Option deaktiviert und neue Rechner werden automatisch in die Known-Hosts-Dateien eingetragen. Die Host-Schlüssel bekannter Rechner werden auf jeden Fall automatisch geprüft.
Erlaubte Werte sind "yes" oder "no".
UsePrivilegedPort yes|no Legt fest, ob auch für ausgehende Verbindungen ein privilegierter Port (< 1024) benutzt wird. Beachten sie, dass RhostsAuthentication und RhostsRSAAuthentication nicht genutzt werden können, wenn diese Option deaktiviert ist.
Erlaubte Werte sind "yes" oder "no".
Default: "yes"
User <Username> Legt fest, mit welchem Usernamen die Anmeldung erfolgt. Dies kann nützlich sein, wenn sie unterschiedliche Usernamen auf verschiedenen Rechnern haben.
UserKnownHostsFile <Dateiname> Legt fest, in welcher Datei die Hosts-Schlüssel des Anwenders gespeichert werden. Wenn diese Option nicht gesetzt ist, werden die Host-Schlüssel bekannter Rechner in der Datei $HOME/.ssh/known_hosts abgelegt.
UseRsh yes|no Definiert, ob rlogin/rsh2) für die Verbindung zu diesem Rechner verwendet werden soll. Es ist möglich, dass nicht alle Rechner das SSH-Protocol unterstützen. Diese Option veranlasst SSH, direkt rsh2) auszuführen. Ausser HostName werden alle anderen Optionen ignoriert, wenn diese Option gesetzt ist.
Erlaubte Werte sind "yes" oder "no".
XAuthLocation <Dateiname> Definiert den Pfad zum xauth6)-Programm.
Der Standard ist /usr/X11R6/bin/xauth.

Beispiel:

# This is ssh client systemwide configuration file. This file provides
# defaults for users, and the values can be changed in per-user configuration
# files or on the command line.

# Configuration data is parsed as follows:
# 1. command line options
# 2. user-specific file
# 3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for various options

Host *
ForwardAgent yes
ForwardX11 yes
RhostsAuthentication no
RhostsRSAAuthentication yes
RSAAuthentication yes
TISAuthentication no
PasswordAuthentication yes
FallBackToRsh no
UseRsh no
BatchMode no
StrictHostKeyChecking no
IdentityFile ~/.ssh/identity
Port 22
Protocol 2,1
Cipher 3des
EscapeChar ~


1) Siehe gzip in Kategorie 1 der Man-Pages.
2) Siehe rsh in Kategorie 1 der Man-Pages.
3) Siehe syslog in den Man-Pages
4) Siehe rhosts in Kategorie 5 der Man-Pages
5) Siehe RhostsRSAAuthentication in diesem Dokument.
6) Siehe xauth in Kategorie 1x der Man-Pages



Anmerkung zur Fu▀zeile ;-)

zurück