Content-type: text/html
Manpage of SSH_CONFIG
SSH_CONFIG
Section: File Formats (5)
Index
Return to Main Contents
BSD mandoc
NOM
ssh_config
- fichiers de configuration du client SSH d'OpenSSH
SYNOPSIS
- $HOME/.ssh/config
-
- /etc/ssh/ssh_config
-
DESCRIPTION
ssh
obtient ses données de configuration depuis les sources suivantes,
et dans l'ordre suivant :
la ligne de commande,
le fichier de configuration de l'utilisateur
($HOME/.ssh/config
)
et enfin le fichier de configuration de la machine
(/etc/ssh/ssh_config
)
Pour chaque paramètre, on utilise la première valeur obtenue.
Les fichiers de configuration peuvent contenir des sections de spécifications
par machine (« Host »).
Les paramètres contenus dans ces sections ne s'appliquent que pour les machines
qui correspondent à un des motifs de la spécification.
Le nom de machine est celui qui est passé sur la ligne de commande.
Comme c'est la première valeur de chaque qui est utilisée, on peut préciser
des paramètres spécifiques aux machines vers le début du fichier, et les valeurs
par défaut vers la fin.
Le fichier de configuration a le format suivant :
Les commentaires sont les lignes vides, et celles qui commencent par le caractère
« # ».
Dans les autres cas, une ligne a le format « mot-clef arguments ».
On peut séparer les options de configuration avec des espaces ou des espaces
optionnels, et un seul caractère « = ».
Ce dernier format est utile pour pouvoir se passer de l'espace lorsqu'on utilise
l'option
-o
de
ssh
scp
et
sftp.
Les mots-clef possibles et leur signification sont détaillés ci-après.
Note : Les mots-clef ne sont pas sensibles à la casse, mais les valeurs le sont.
- Host
-
Restreint les déclarations suivantes (jusqu'au prochain mot-clef
Host
aux machines qui correspondent aux motifs passés après le mot-clef.
On peut utiliser les caractères joker « * » et « ? » dans les motifs.
On peut utiliser un simple « * » pour définir des valeurs par défaut pour toutes
les machines.
La machine est l'argument
hostname
passé sur la ligne de commande, c'est-à-dire que le nom n'est pas converti en
nom canonique avant la mise en correspondance.
- AFSTokenPassing
-
Précise si on envoie des jetons AFS (AFS tokens) à la machine distante.
L'argument pour ce mot-clef est « yes » ou « no ».
Cette option ne s'applique qu'à la version 1 du protocole.
- BatchMode
-
Si l'argument est « yes », il n'y a pas de demande de mots de passe.
Utile dans des scripts ou autres traitements par lot, quand il n'y a pas
d'utilisateur dans les parages pour saisir les mots de passe.
L'argument pour ce mot-clef est « yes » ou « no ».
Par défaut « no ».
- BindAddress
-
Spécifie une interface réseau pour l'émission, si on se trouve sur une
machine avec plusieurs interfaces réseau, ou avec des adresses aliasées.
Note : Cette option ne fonctionne pas si le mot-clef
UsePrivilegedPort
a pour argument « yes ».
- ChallengeResponseAuthentication
-
Spécifie si on utilise une méthode simulation/réponse (challenge response)
pour l'authentification.
L'argument pour ce mot-clef est « yes » ou « no ».
Par défaut « yes ».
- CheckHostIP
-
Si l'argument est « yes », ssh vérifie en plus l'adresse IP dans le fichier
known_hosts
Ceci permet de vérifier si une clef de machine a changé à cause d'une falsification
de DNS. Si l'argument est « no », la vérification n'est pas effectuée.
Par défaut « yes ».
- Cipher
-
Spécifie le cryptage à utiliser pour la session, dans la version 1 du protocole.
Actuellement, « blowfish », « 3des » et « des » sont supportés.
des
n'est supporté dans le client
ssh
que pour l'interopérabilité avec les anciennes implémentations
de la version 1 du protocole qui ne supportent pas le cryptage
3des
Son utilisation est fortement déconseillée à cause de ses faiblesses crytographiques.
Par défaut « 3des ».
- Ciphers
-
Spécifie les cryptages à utiliser pour la version 2 du protocole par ordre
de préférence. Les cryptages multiples sont séparés par des virgules.
Par défaut :
« aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,
aes192-cbc,aes256-cbc ».
- ClearAllForwardings
-
Spécifie que toutes les redirections de ports locaux, distants et dynamiques déclarés
dans les fichiers de configuration ou sur la ligne de commande doivent être purgés.
Ce mot clef est utilisé principalement sur la ligne de commande de
ssh
pour purger les redirections de ports définis dans les fichiers de
configuration, et est automatiquement défini par
scp(1)
et
sftp(1).
L'argument pour ce mot-clef est « yes » ou « no ».
Par défaut « no ».
- Compression
-
Spécifie si on utilise la compression.
L'argument pour ce mot-clef est « yes » ou « no ».
Par défaut « no ».
- CompressionLevel
-
Spécifie un niveau de compression, si la compression est activée.
L'argument est un entier de 1 (rapide) à 9 (meilleure compression,
mais plus lent).
Par défaut, le niveau est 6, ce qui est un bon compromis pour la
plupart des applications. La signification de ces valeurs est identique
à celle de
gzip(1).
Note : Cette option ne s'applique que pour la version 1 du protocole.
- ConnectionAttempts
-
Spécifie le nombre de tentatives (une par seconde) avant d'abandonner.
L'argument pour ce mot-clef doit être un entier.
Utile pour des scripts si des connexions échouent parfois.
Par défaut 1.
- DynamicForward
-
Spécifie un port TCP/IP à rediriger sur la machine locale par le tunnel
sécurisé. Le protocole de l'application est ensuite utilisé pour
déterminer le port pour se connecter depuis la machine distante.
L'argument pour ce mot-clef est un numéro de port.
Actuellement, le protocole SOCKS4 est supporté, et
ssh
se comporte comme un serveur SOCKS4.
On peut spécifier des multiples redirections de ports, et on peut
en ajouter sur la ligne de commande.
Seul root a le droit de rediriger des ports privilégiés.
- EscapeChar
-
Définit un caractère d'échappement. Par défaut « ~ ».
On peut aussi définir le caractère d'échappement sur la ligne de commande.
L'argument pour ce mot-clef doit être un caractère unique « ^ » suivi
d'une lettre, ou « none » pour désactiver complètement le caractère
d'échappement (rend la connexion transparente pour les données binaires).
- ForwardAgent
-
Spécifie si la connexion à l'agent d'authentification (s'il existe) doit
être redirigée vers la machine distante.
L'argument pour ce mot-clef est « yes » ou « no ».
Par défaut « no ».
- ForwardX11
-
Spécifie si les connexions X11 sont redirigées automatiquement dans
le tunnel sécurisé, et la variable d'environnement
DISPLAY
définie.
L'argument pour ce mot-clef est « yes » ou « no ».
Par défaut « no ».
- GatewayPorts
-
Spécifie si des machines distantes sont autorisées à se connecter
aux ports locaux redirigés. Par défaut
ssh
branche les ports redirigés sur une adresse de bouclage (loopback).
Ceci évite que des machines distantes ne se connectent à des ports
locaux redirigés.
On peut utiliser le mot-clef
GatewayPorts
pour spécifier que
ssh
doit connecter les ports redirigés sur une adresse joker (wildcard),
et par conséquent, autorise les machines distantes à se connecter
aux ports redirigés.
L'argument pour ce mot-clef est « yes » ou « no ».
Par défaut « no ».
- GlobalKnownHostsFile
-
Spécifie un fichier de base de données globale des clefs de machines
à utiliser à la place de
/etc/ssh/ssh_known_hosts
- HostbasedAuthentication
-
Spécifie si on tente d'utiliser l'authentification basées sur les
rhosts avec l'authentification par clef publique.
L'argument pour ce mot-clef est « yes » ou « no ».
Par défaut « no ».
Cette option ne s'applique que pour la version 2 du protocole
et est similaire à
RhostsRSAAuthentication
- HostKeyAlgorithms
-
Spécifie l'algorithme de clef de machine pour la version 2 du
protocole que le client souhaite utiliser par ordre de préférence.
La valeur par défaut pour cette option est « ssh-rsa,ssh-dss ».
- HostKeyAlias
-
Spécifie un alias à utiliser au lieu du vrai nom de machine lors des
recherches et des sauvegardes de clef de machine dans les fichiers
de base de données des clefs de machine.
Cette option est utile pour faire passer plusieurs connexions ssh par
un tunnel sécurisé, ou si plusieurs serveurs tournent sur une seule
machine.
- HostName
-
Spécifie le vrai nom de la machine sur laquelle on se connecte.
Utile pour spécifier des surnoms ou des diminutifs pour des machines.
Par défaut : le nom passé sur la ligne de commande.
Les adresses adresses IP (forme numérique, donc) sont aussi autorisées,
à la fois sur la ligne de commande et par l'intermédiaire du mot-clef
HostName
- IdentityFile
-
Spécifie un fichier contenant la clef de l'utilisateur pour l'authentification
RSA ou DSA. Par défaut
$HOME/.ssh/identity
pour la version 1 du protocole, et
$HOME/.ssh/id_rsa
et
$HOME/.ssh/id_dsa
pour la version 2 du protocole.
En outre, toutes les identités déjà chargées dans l'agent d'authentification
sont également utilisées pour l'authentification.
Le nom de fichier peut débuter par le caractère « ~ » pour faire référence
au répertoire de base (home directory) de l'utilisateur.
On peut spécifier plusieurs fichiers d'identité dans les fichiers de
configuration. Si c'est le cas, on essaie toutes les identités en séquence.
- KeepAlive
-
Spécifie si le système doit envoyer des messages TCP de maintien de la
connexion à l'autre machine. Si on envoie ces messages, les ruptures de
connexion ou les plantages d'une des machines sont correctement signalés.
Sinon, des connexions peuvent être coupées si la route entre les deux machines
est temporairement interrompue, et ça peut être gênant.
Par défaut « yes » (pour envoyer les messages de maintien de la connexion),
et le client signale si des coupures de réseau on lieu, ou si la machine
distante se plante. Cette fonction est importante pour les scripts, et de
nombreux utilisateurs la veulent aussi.
Pour désactiver les messages de maintien de la connexion, il faut régler la
valeur à « no ».
- KerberosAuthentication
-
Spécifie si on utilise une authentification Kerberos.
L'argument pour ce mot-clef est « yes » ou « no ».
- KerberosTgtPassing
-
Spécifie si on peut transférer un TGT Kerberos au serveur.
Ceci ne fonctionne que si le serveur Kerberos est vraiment un kaserver AFS.
L'argument pour ce mot-clef est « yes » ou « no ».
- LocalForward
-
Spécifie qu'un port TCP/IP sur la machine locale est redirigé par le tunnel
sécurisé vers un port particulier sur la machine distante.
Le premier argument est un numéro de port, et le second est de la forme
machine:port
Pour les adresse IPv6, on utilise la syntaxe :
machine/port
On peut spécifier plusieurs redirections de port, et on peut en
ajouter en les passant en paramètres sur la ligne de commande.
Seul root peut rediriger des ports privilégiés.
- LogLevel
-
Spécifie un niveau de verbosité pour enregistrer les messages de
ssh
Les valeurs possibles sont :
QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 et DEBUG3.
Par défaut INFO. DEBUG et DEBUG1 sont équivalents. DEBUG2
et DEBUG3 spécifient les niveaux de verbosité les plus élevés pour la sortie.
- MACs Spécifie l'algorithme MAC (message authentication code) par ordre de préférence.
-
L'algorithme MAC est utilisé dans la version 2 du protocole pour la protection
de l'intégrité des données. On peut spécifier plusieurs algorithmes en les
séparants par des virgules. Par défaut
« hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 ».
- NoHostAuthenticationForLocalhost
-
On peut utiliser cette option si le répertoire de base (home directory) est
partagé par plusieurs machines. Dans ce cas, la machine locale se réfère
à une machine différente sur toutes les machines, et l'utilisateur peut recevoir
plusieurs avertissements parce que des clefs de machines ont changé.
Cette option désactive l'authentification par machine pour la machine locale.
L'argument pour ce mot-clef est « yes » ou « no ».
Par défaut, on vérifie la clef de machine pour la machine locale.
- NumberOfPasswordPrompts
-
Spécifie le nombre de tentatives de saisie de mot de passe avant d'abandonner.
L'argument pour ce mot-clef est un entier. Par défaut 3.
- PasswordAuthentication
-
Spécifie si on utilise l'authentification par mot de passe.
L'argument pour ce mot-clef est « yes » ou « no ».
Par défaut « yes ».
- Port
-
Spécifie le port pour se connecter sur la machine distante.
Par défaut 22.
- PreferredAuthentications
-
Spécifie l'ordre dans lequel on essaie les méthodes d'authentification
pour la version 2 du protocole. Cette option permet au client de choisir
une méthode (par exemple
keyboard-interactive
plutôt qu'une autre (par exemple
password )
Par défaut « hostbased,publickey,keyboard-interactive,password ».
- Protocol
-
Spécifie la version du protocole que
ssh
doit supporter, par ordre de préférence.
Les valeurs possibles sont « 1 » et « 2 ». On peut spécifier
plusieurs valeurs en les séparant par des virgules.
Par défaut « 2,1 ». Ce qui signifie que
ssh
essaie la version 2 du protocole, puis la version 1 du protocole si
la version 2 n'est pas disponible.
- ProxyCommand
-
Spécifie la commande à utiliser lors de la connexion au serveur.
La chaîne de caractère contenant la commande est comprise jusqu'à
la fin de la ligne, et est exécutée en utilisant l'interpréteur de
commandes (shell)
/bin/sh
Dans la chaîne de commande, on peut substituer le nom de la machine
sur laquelle on se connecte par « %h » et le port par « %p ».
La commande peut être absolument n'importe quoi, et doit lire depuis son
entrée standard et écrire sur sa sortie standard.
Elle peut éventuellement se connecter sur un serveur
sshd(8)
tournant sur une machine, ou exécuter
sshd -i
ailleurs.
La gestion des clefs de machine est assurée en utilisant le nom de la machine
(option « HostName ») sur laquelle on se connecte (par défaut, le nom fourni par
l'utilisateur). Note :
CheckHostIP
n'est pas disponible pour les connexions qui utilisent une commande mandataire
(proxy command).
- PubkeyAuthentication
-
Spécifie si on utilise l'authentification par clef publique.
L'argument pour ce mot-clef est « yes » ou « no ».
Par défaut « yes ».
Cette option ne s'applique qu'à la version 2 du protocole.
- RemoteForward
-
Spécifie une redirection de port TCP/IP sur la machine distante à travers
le tunnel sécurisé, vers la machine et le port spécifiés depuis la machine locale.
Le premier argument est un numéro de port, et le second est de la forme
machine:port
Pour les adresse IPv6, on utilise la syntaxe :
machine/port
On peut spécifier plusieurs redirections de port, et on peut en
ajouter en les passant en paramètres sur la ligne de commande.
Seul root peut rediriger des ports privilégiés.
- RhostsAuthentication
-
Spécifie si on utilise l'authentification basée sur les rhosts.
Note : Cette déclaration n'affecte que la partie cliente, et n'a aucun
effet sur la sécurité.
La plupart des serveurs n'autorisent pas ce type d'authentification
(RhostsAuthentication), parce qu'elle n'est pas sécurisée. (Voir
RhostsRSAAuthentication
L'argument pour ce mot-clef est « yes » ou « no ».
Par défaut « no ».
Cette option ne s'applique que pour la version 1 du protocole.
- RhostsRSAAuthentication
-
Spécifie si on utilise l'authentification basée sur les rhosts
en conjonction avec une authentification de machine basée sur RSA.
L'argument pour ce mot-clef est « yes » ou « no ».
Par défaut « no ».
Cette option ne s'applique que pour la version 1 du protocole,
et nécessite que
ssh
soit exécutable en tant que root (setuid root).
- RSAAuthentication
-
Spécifie si on utilise l'authentification RSA.
L'argument pour ce mot-clef est « yes » ou « no ».
On essaie cette authentification seulement si le fichier d'identité
existe, ou qu'un agent d'authentification est en cours d'exécution.
Par défaut « yes ».
Cette option ne s'applique que pour la version 1 du protocole.
- SmartcardDevice
-
Spécifie un lecteur de cartes à puce à utiliser. L'argument de ce mot-clef
est le fichier spécial que
ssh
doit utiliser pour communiquer avec le lecteur de cartes à puces pour
stocker la clef privée RSA. Par défaut, aucun fichier spécial n'est spécifié,
et le support des lecteurs de cartes à puces est désactivé.
- StrictHostKeyChecking
-
Si cette option a pour argument « yes »,
ssh
ne demande pas d'ajouter les clefs de machine au fichier
$HOME/.ssh/known_hosts
et refuse la connexion aux machines dont la clef de machine a changé.
Ceci fournit une protection maximale contre les attaques de type
« Cheval de Troie », néanmoins peut être gênant si le fichier
/etc/ssh/ssh_known_hosts
n'est pas très bien maintenu, ou si on se connecte fréquemment à de
nouvelles machines.
Cette option impose à l'utilisateur d'ajouter manuellement toutes les
nouvelles machines.
Si cette option a pour argument « no »,
ssh
ajoute automatiquement les nouvelles clefs de machine aux fichiers
des machines connues.
Si cette option a pour argument « ask »,
ssh
ajoute les nouvelles clefs de machine aux fichiers des machines connues
si l'utilisateur confirme que c'est ce qu'il veut faire, et refuse de se
connecter aux machines dont la clef a changé. Les clefs des machines connues
sont vérifiées dans tous les cas.
L'argument pour ce mot-clef est « yes », « no » ou « ask ».
Par défaut « ask ».
- UsePrivilegedPort
-
Spécifie si on utilise un port privilégié pour les connexions sortantes.
L'argument pour ce mot-clef est « yes » ou « no ».
Par défaut « no ».
L'argument de ce mot-clef doit être « yes » si on se connecte sur de vieux
serveurs qui ont besoin des authentifications « RhostsAuthentication »
et « RhostsRSAAuthentication ».
- User
-
Spécifie un nom d'utilisateur à utiliser pour se connecter.
Ceci peut être utile si on se connecte avec des noms d'utilisateurs différents
sur des machines différentes, et évite le souci de devoir se rappeler
tous les noms d'utilisateurs à passer sur la ligne de commande.
- UserKnownHostsFile
-
Spécifie un fichier de base de données pour l'utilisateur de clefs de machines
à utiliser au lieu de
$HOME/.ssh/known_hosts
- XAuthLocation
-
Spécifie l'emplacement du programme
xauth(1).
Par défaut
/usr/X11R6/bin/xauth
FICHIERS
- $HOME/.ssh/config
-
C'est le fichier de configuration utilisateur.
Le format de ce fichier est décrit ci-avant.
Le client
ssh
utilise ce fichier.
Ce fichier ne contient normalement pas d'informations sensibles,
néanmoins, il est recommandé de n'autoriser la lecture/écriture
que pour l'utilisateur (son propriétaire), et aucun accès pour les autres.
- /etc/ssh/ssh_config
-
C'est le fichier de configuration pour toute la machine.
Ce fichier définit des valeurs par défaut pour les paramètres qui ne sont
pas définis dans les fichiers de configuration des utilisateurs, et pour
les utilisateurs qui n'ont pas de fichier de configuration.
Ce fichier doit être lisible par tout le monde.
AUTEURS
OpenSSH est dérivé de la version originale et libre ssh 1.2.12 par Tatu Ylonen.
Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos,
Theo de Raadt et Dug Song
ont corrigé de nombreux bugs, ré-ajouté des nouvelles fonctionnalité et créé OpenSSH.
Markus Friedl a contribué au support des versions 1.5 et 2.0 du protocole SSH.
TRADUCTION FRANÇAISE
Laurent GAUTROT <l dot gautrot at free dot fr> 08/11/2002
VOIR AUSSI
ssh(1)
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- FICHIERS
-
- AUTEURS
-
- TRADUCTION FRANÇAISE
-
- VOIR AUSSI
-
This document was created by
man2html,
using the manual pages.
Time: 21:23:10 GMT, July 10, 2005