SSH_CONFIG(5) File Formats Manual SSH_CONFIG(5) NOM ssh_config - Fichier de configuration du client OpenSSH DESCRIPTION ssh(1) obtient ses donnees de configuration a partir des sources suivantes et dans cet ordre : 1. options de la ligne de commande 2. fichier de configuration de l'utilisateur (~/.ssh/config) 3. fichier de configuration globale du systeme (/etc/ssh/ssh_config) Sauf indication contraire, pour chaque parametre, c'est la premiere valeur obtenue qui sera utilisee. Les fichiers de configuration contiennent des sections separees par des specifications de machine Host, et chaque section ne s'applique qu'a la machine dont le nom correspond a un des motifs donnes dans la specification de machine. Le nom de machine qui correspond aux motifs est en general celui qui a ete specifie sur la ligne de commande (voir l'option CanonicalizeHostname pour les exceptions). Comme c'est la premiere valeur obtenue pour chaque parametre qui est utilisee, les declarations les plus specifiques aux machines doivent etre vers le debut du fichier, et les valeurs generales par defaut vers la fin. Le fichier contient des paires mot-cle/argument a raison d'une paire par ligne. Les lignes commencant par << # >> et les lignes vides sont interpretees comme des commentaires. Pour specifier des arguments contenant des espaces, on peut les entourer de guillemets droits << " >>. Les options de configuration peuvent etre separees par des blancs ou un blanc facultatif et exactement un signe egal << = >> ; le deuxieme format evite d'avoir a mettre les blancs entre guillemets lors de la specification d'options de configuration en utilisant l'option -o de ssh, scp et sftp. Les mots-cles valables et leurs significations sont les suivants (notez que les mots-cles ne sont pas sensibles a la casse, mais que les arguments le sont : Host Cette option restreint l'application des declarations suivantes (jusqu'au prochain mot-cle Host ou Match) aux seules machines dont le nom correspond a un des motifs indiques apres le mot-cle. Si plusieurs motifs sont indiques, ils doivent etre separes par des blancs. Le motif << * >> permet de definir des valeurs par defaut pour toutes les machines. La machine correspond en general a l'argument nom_machine de la ligne de commande (voir le mot-cle CanonicalizeHostname pour les exceptions). On peut inverser une entree de motif en la prefixant avec un point d'exclamation << ! >>. Si une entree inversee correspond, l'entree Host correspondante est ignoree, qu'un autre motif de la ligne corresponde ou non. Les correspondances inversees permettent ainsi de definir des exceptions pour les correspondances avec caracteres generiques. Voir MOTIFS pour plus d'informations a propos des motifs. Match Cette option assujettit l'application des declarations suivantes (jusqu'au prochain mot-cle Host ou Match) au respect des conditions qui suivent le mot-cle Match. Les conditions de correspondance sont indiquees a l'aide d'un ou plusieurs criteres ou du simple critere all qui implique une correspondance systematique. Les mots-cles valables pour les criteres sont : canonical, final, exec, localnetwork, host, originalhost, tagged, user et localuser. Le critere all doit apparaitre seul ou immediatement apres canonical ou final. Les autres criteres peuvent etre combines arbitrairement. A l'exception de all, canonical et final, tous les criteres necessitent un argument. On peut inverser un critere en le prefixant avec un point d'exclamation << ! >>. Le mot-cle canonical n'implique une correspondance que lorsque le fichier de configuration est relu apres que le nom de la machine a ete mis sous forme canonique (voir l'option CanonicalizeHostname). Cela permet d'indiquer des options qui ne fonctionnent qu'avec les noms de machine canoniques. Le mot-cle final demande une relecture de la configuration (que CanonicalizeHostname soit activee ou non), et n'effectue de comparaison que lors de cette passe finale. Si CanonicalizeHostname est activee, canonical et final effectuent une comparaison lors de la meme passe. Le mot-cle exec execute la commande specifiee sous l'interpreteur de commande de l'utilisateur. Si la commande renvoie zero comme code de retour, la condition est consideree comme remplie. Les commandes contenant des caracteres blancs doivent etre entourees de guillemets. Les arguments de exec acceptent les symboles decrits dans la section SYMBOLES. Le mot-cle localnetwork effectue une comparaison entre les adresses des interfaces reseau locales actives et la liste de reseaux fournie au format CIDR. Cette comparaison peut s'averer utile pour adapter la configuration effective des peripheriques qui changent de reseau. Notez que l'adresse reseau n'est pas un critere de confiance dans de nombreuses situations (par exemple lorsque le reseau est configure automatiquement a l'aide de DHCP) et qu'il faut donc l'utiliser avec prudence pour controler une configuration particulierement sensible a la securite. Les autres criteres des mots-cles doivent etre des entrees simples ou des listes separees par des virgules et peuvent contenir des caracteres generiques et des operateurs de negation comme decrit dans la section MOTIFS. Les criteres pour le mot- cle host sont compares avec le nom de machine cible apres toute substitution a l'aide des options Hostname ou CanonicalizeHostname. Le mot-cle originalhost effectue une comparaison avec le nom de machine tel qu'il a ete indique sur la ligne de commande. Le mot-cle tagged met en correspondance un nom de symbole specifie par une directive Tag precedente ou sur la ligne de commande de ssh(1) a l'aide du drapeau -P. Le mot-cle user met en correspondance le nom d'utilisateur cible sur la machine distante. Le mot-cle localuser met en correspondance le nom de l'utilisateur local qui execute ssh(1) (ce mot-cle peut s'averer utile dans les fichiers de ssh_config globaux du systeme). AddKeysToAgent Cette option permet de specifier si les cles doivent etre ajoutees automatiquement a un ssh-agent(1) en cours d'execution. Si cette option est definie a yes et si une cle est chargee depuis un fichier, la cle et sa phrase de passe sont ajoutees a l'agent avec une duree de vie par defaut, comme si on avait utilise ssh-add(1). Si cette option est definie a ask, ssh(1) necessite une confirmation a l'aide du programme SSH_ASKPASS avant d'ajouter une cle (voir ssh-add(1) pour les details). Si cette option est definie a confirm, chaque utilisation de la cle doit etre confirmee comme si l'option -c avait ete specifiee avec ssh-add(1). Si cette option est definie a no, aucune cle n'est ajoutee a l'agent. Cette option peut aussi prendre pour valeur un intervalle de temps en utilisant le format decrit dans la section FORMATS DE TEMPS de sshd_config(5) pour specifier la duree de vie de la cle au sein du ssh-agent(1), duree apres laquelle la cle sera automatiquement supprimee de l'agent. L'argument de cette option peut prendre pour valeur no (la valeur par defaut), yes, confirm (optionnellement suivie d'un intervalle de temps), ask ou un intervalle de temps. AddressFamily Cette option permet de specifier la famille d'adresses a utiliser lors de la connexion. Les arguments valables sont any (la valeur par defaut), inet (utiliser seulement IPv4) ou inet6 (utiliser seulement IPv6). BatchMode Si cette option est definie a yes, les interactions avec l'utilisateur comme les invites de mot de passe et de confirmation de la cle d'hote sont desactivees. Cette option s'avere utile dans le cas de scripts et de toute tache de traitement par lot ou aucun utilisateur n'est present pour interagir avec ssh(1). L'argument doit etre yes ou no (la valeur par defaut). BindAddress Utiliser l'adresse specifiee sur la machine locale comme adresse source de la connexion. Cette option n'est utile que sur les systemes qui possedent plusieurs adresses. BindInterface Utiliser l'adresse de l'interface specifiee sur la machine locale comme adresse source de la connexion. CanonicalDomains Si CanonicalizeHostname est activee, cette option permet d'indiquer la liste des suffixes de domaine dans laquelle rechercher la machine de destination specifiee. CanonicalizeFallbackLocal Cette option indique s'il faut echouer avec une erreur lorsque la mise sous forme canonique du nom de machine echoue. Avec la valeur par defaut, yes, le nom de machine non qualifie sera recherche en utilisant les regles de recherche du resolveur du systeme. Avec la valeur no, ssh(1) echouera instantanement si CanonicalizeHostname est active et si le nom de la machine cible n'a pu etre trouve dans aucun des domaines specifies a l'aide de CanonicalDomains. CanonicalizeHostname Cette option indique si une mise sous forme canonique explicite du nom de machine doit etre effectuee. Avec la valeur par defaut, no, aucune reecriture de nom n'est effectuee et le resolveur du systeme gere toutes les recherches de nom de machine. Avec la valeur yes et pour les connexions qui n'utilisent pas ProxyCommand ou ProxyJump, ssh(1) va tenter de mettre sous forme canonique le nom de machine specifie sur la ligne de commande en utilisant les suffixes de CanonicalDomains et les regles de CanonicalizePermittedCNAMEs. Si CanonicalizeHostname est definie a always, la mise sous forme canonique s'applique aussi aux connexions mandatees. Si cette option est activee, les fichiers de configuration sont relus pour prendre en compte le nouveau nom cible et ainsi detecter toute nouvelle configuration dans les sections Host et Match correspondantes. Une valeur none desactive l'utilisation de la machine ProxyJump. CanonicalizeMaxDots Cette option permet de specifier le nombre maximal de caracteres point << . >> dans un nom de machine au dessus duquel la mise sous forme canonique est desactivee. La valeur par defaut, 1, ne permet qu'un seul point, comme dans nom_machine.sous_domaine. CanonicalizePermittedCNAMEs Cette option permet de specifier des regles permettant de determiner si les CNAME doivent etre suivis lors de la mise sous forme canonique des noms de machine. Les regles consistent en un ou plusieurs arguments de la forme liste_domaines_source:liste_domaines_cible ou liste_domaines_source est une liste de domaines sous forme de motifs qui peuvent suivre les CNAME pour la mise sous forme canonique, et liste_domaines_cible une liste de domaines sous forme de motifs vers lesquels ils peuvent etre resolus Par exemple, << *.a.example.com:*.b.example.com,*.c.example.com >> permet aux noms de machine correspondant a << *.a.example.com >> d'etre mis sous forme canonique vers des noms dans les domaines << *.b.example.com >> ou << *.c.example.com >>. Si << none >> est le seul argument, aucun CNAME ne fera l'objet d'une mise sous forme canonique. Il s'agit du comportement par defaut. CASignatureAlgorithms Cette option permet de specifier les algorithmes autorises pour la signature des certificats par les autorites de certification (CA). Les algorithmes par defaut sont : 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 Si la liste fournie commence par un plus << + >>, les algorithmes qu'elle contient seront ajoutes a la liste des algorithmes par defaut au lieu de les remplacer. Si la liste fournie commence par un moins << - >>, les algorithmes qu'elle contient (pouvant comporter des caracteres generiques) seront supprimes de la liste des algorithmes par defaut au lieu de les remplacer. ssh(1) n'acceptera aucun certificat de machine signe en utilisant un algorithme autre que ceux specifies. CertificateFile Cette option permet de specifier un fichier a partir duquel le certificat de l'utilisateur sera lu. Pour utiliser ce certificat, une cle privee correspondante doit etre fournie separement a l'aide d'une directive IdentityFile ou du drapeau -i a ssh(1), de ssh-agent(1), ou d'une directive PKCS11Provider ou SecurityKeyProvider. Les arguments de CertificateFile peuvent utiliser la syntaxe avec tilde << ~ >> pour faire reference au repertoire personnel de l'utilisateur, ainsi que les symboles decrits dans la section SYMBOLES et les variables d'environnement comme decrit dans la section VARIABLES D'ENVIRONNEMENT. Il est possible d'indiquer plusieurs fichiers de certificat dans les fichiers de configuration ; ces certificats seront essayes sequentiellement. Des directives CertificateFile multiples ajouteront les certificats contenus dans les fichiers qu'elles indiquent a la liste des certificats utilises pour l'authentification. ChannelTimeout Cette option permet de specifier si ssh(1) doit fermer les canaux inactifs et au bout de combien de temps. Les delais sont indiques sous forme d'une ou plusieurs paires << type=intervalle >> separees par des blancs, ou << type >> doit etre le mot-cle special << global >> ou un nom de type de canal dans la liste ci- dessous et pouvant contenir des caracteres generiques. La valeur du delai << intervalle >> est indiquee en secondes ou toute unite decrite dans la section FORMATS DE TEMPS. Par exemple, << session=5m >> signifierait la fermeture de la session interactive au bout de cinq minutes d'inactivite. Une valeur de delai de zero desactive le delai d'inactivite. Le delai special << global >> s'applique a tous les canaux actifs pris dans leur ensemble. Tout trafic sur un canal actif va reinitialiser le delai, mais lorsque ce dernier arrivera a expiration, tous les canaux ouverts seront fermes. Notez que ce delai global ne peut pas etre specifie avec des caracteres generiques et devra l'etre explicitement. Les noms de types de canal valables sont : agent-connection Les connexions ouvertes vers ssh-agent(1). direct-tcpip, direct-streamlocal@openssh.com Les connexions ouvertes TCP ou de type socket Unix (respectivement) qui ont ete etablies a partir d'une redirection locale de ssh(1) comme LocalForward ou DynamicForward. forwarded-tcpip, forwarded-streamlocal@openssh.com Les connexions ouvertes TCP ou de type socket Unix (respectivement) qui ont ete etablies vers un demon sshd(8) en ecoute au nom d'une redirection distante de ssh(1), c'est-a-dire RemoteForward. session La session interactive principale, a savoir la session de l'interpreteur de commande, l'execution de la commande, scp(1), sftp(1), etc. tun-connection Connexions TunnelForward ouvertes. x11-connection Sessions de redirection X11 ouvertes. Notez que dans chacun des cas ci-dessus, fermer une session inactive ne garantit pas la suppression de toutes les ressources associees a cette session ; en particulier, les processus de l'interpreteur de commande ou les clients X11 en rapport avec cette session peuvent continuer leur execution. En outre, fermer une session ou un canal inactifs ne ferme pas necessairement la connexion SSH et n'empeche pas un client de demander un autre canal du meme type. En particulier, l'expiration d'une session de redirection inactive n'empeche pas la creation subsequente d'une autre redirection identique. Le comportement par defaut consiste a ne fermer aucun canal de quelque type que ce soit pour inactivite. CheckHostIP Si l'argument est yes, ssh(1) verifie en plus l'adresse IP de la machine dans le fichier known_hosts, ce qui lui permet de verifier si une cle de machine a change a cause d'une usurpation de DNS et ajoute les adresses des machines de destination a ~/.ssh/known_hosts dans le processus, quelle que soit la valeur de StrictHostKeyChecking. Si l'argument est no (la valeur par defaut), la verification n'est pas effectuee. Ciphers Cette option permet de specifier les algorithmes de chiffrement autorises par ordre de preference. Des algorithmes de chiffrement multiples doivent etre separes par des virgules. Si la liste fournie commence par un plus << + >>, les algorithmes qu'elle contient seront ajoutes a la liste des algorithmes par defaut au lieu de les remplacer. Si la liste fournie commence par un moins << - >>, les algorithmes qu'elle contient (pouvant comporter des caracteres generiques) seront supprimes de la liste des algorithmes par defaut au lieu de les remplacer. Si la liste fournie commence par un caret << ^ >>, les algorithmes qu'elle contient seront places en tete de la liste des algorithmes par defaut. Les algorithmes de chiffrement pris en charge sont : 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 La liste d'algorithmes par defaut est : chacha20-poly1305@openssh.com, aes128-ctr,aes192-ctr,aes256-ctr, aes128-gcm@openssh.com,aes256-gcm@openssh.com On peut aussi obtenir la liste des algorithmes de chiffrement disponibles en executant la commande << ssh -Q cipher >>. ClearAllForwardings Cette option permet de specifier que toutes les redirections de ports locaux, distants et dynamiques specifiees dans les fichiers de configuration ou sur la ligne de commande doivent etre supprimees. Cette option est utilisee principalement sur la ligne de commande de ssh(1) pour supprimer les redirections de ports definies dans les fichiers de configuration, et est definie automatiquement par scp(1) et sftp(1). Son argument est yes ou no, no etant la valeur par defaut. Compression Cette option permet de specifier si on utilise la compression. L'argument est yes ou no, no etant la valeur par defaut. ConnectionAttempts Cette option permet de specifier le nombre de tentatives (une par seconde) avant d'abandonner. L'argument doit etre un entier. Cette option peut s'averer utile dans les scripts s'il arrive que la connexion echoue. La valeur par defaut est 1. ConnectTimeout Cette option permet de specifier le delai (en secondes) utilise a la place du delai TCP par defaut du systeme lors de la connexion au serveur SSH. Ce delai est applique pour etablir la connexion et pour effectuer la negociation du protocole initiale et l'echange de cles. ControlMaster Cette option active le partage de sessions multiples sur une seule connexion reseau. Lorsque cette option est definie a yes, ssh(1) va ecouter les connexions sur un socket de controle specifie a l'aide de l'argument de ControlPath. Si ControlMaster est definie a no (la valeur par defaut), des sessions additionnelles pourront se connecter a ce meme socket. Ces sessions vont tenter de reutiliser la connexion reseau de l'instance principale au lieu d'en initier de nouvelles, mais reviendront a une connexion normale si le socket de controle n'existe pas ou n'est pas en ecoute. Si cette option est definie a ask, ssh(1) va ecouter les connexions de controle mais demander confirmation a l'aide de ssh-askpass(1). Si le socket defini par ControlPath ne peut pas etre ouvert, ssh(1) continuera sans se connecter a l'instance principale. Les redirections X11 et les redirections de l'agent ssh-agent(1) sont prises en charge sur ces connexions multiplexees ; cependant, le << display >> et l'agent rediriges seront ceux qui appartiennent a la connexion principale ; autrement dit, il n'est pas possible de rediriger plusieurs << display >> ou agents. Cette option accepte deux valeurs supplementaires qui permettent le multiplexage opportuniste, c'est-a-dire essayer d'utiliser une connexion principale mais revenir a une connexion normale en en creant une nouvelle s'il n'en existe pas deja une. Ces valeurs sont auto et autoask. La derniere necessite une confirmation comme c'est le cas pour ask. ControlPath Cette option permet de specifier le chemin du socket de controle utilise pour le partage de connexion decrit dans la section ControlMaster ci-dessus ou la chaine none pour desactiver le partage de connexion. Les arguments de ControlPath peuvent utiliser la syntaxe avec tilde << ~ >> pour faire reference au repertoire personnel de l'utilisateur, ainsi que les symboles decrits dans la section SYMBOLES et les variables d'environnement comme decrit dans la section VARIABLES D'ENVIRONNEMENT. Il est recommande d'inclure au moins %h, %p et %r (ou %C) dans tout ControlPath utilise pour le partage de connexion opportuniste et de placer ce dernier dans un repertoire non accessible en ecriture pour les autres utilisateurs. Cela permet de s'assurer que les connexions partagees sont identifiees de maniere unique. ControlPersist Lorsqu'elle est utilisee en conjonction avec ControlMaster, cette option indique que la connexion principale doit rester ouverte en arriere-plan (en attente de connexions clientes) apres que la connexion cliente initiale a ete fermee. Si elle est definie a no (la valeur par defaut), la connexion ne sera pas placee en arriere-plan et se fermera des que la connexion cliente initiale sera elle-meme fermee. Si elle est definie a yes ou 0, la connexion principale restera en arriere-plan indefiniment (jusqu'a ce qu'elle soit tuee ou fermee a l'aide d'un mecanisme comme << ssh -O exit >>). Si elle definie a une duree en secondes ou sous un des formats decrits dans sshd_config(5), la connexion principale en arriere-plan sera automatiquement fermee apres un delai d'inactivite (sans connexions clientes) egal a la duree specifiee. DynamicForward Specifie un port TCP sur la machine locale a rediriger par le tunnel securise. Le protocole de l'application est alors utilise pour determiner vers ou se connecter depuis la machine distante. L'argument doit etre [adr_sortie:]port. Les adresses IPv6 doivent etre entourees de crochets. Par defaut, le port local est associe en accord avec la definition de GatewayPorts. Il est cependant possible d'utiliser une adresse adr_source explicite pour associer la connexion a une adresse specifique. Une adresse adr_source egale a localhost indique que le port d'ecoute est associe pour un usage local seulement, alors qu'une adresse vide ou << * >> indique que le port sera disponible sur toutes les interfaces. Les protocoles SOCKS4 et SOCKS5 sont actuellement pris en charge et ssh(1) agit en tant que serveur SOCKS. Plusieurs redirections peuvent etre specifiees et des redirections additionnelles peuvent etre indiquees sur la ligne de commande. Seul le superutilisateur peut rediriger des ports privilegies. EnableEscapeCommandline Cette option active la ligne de commande dans le menu du caractere d'echappement EscapeChar (par defaut << ~C >>) pour les sessions interactives. Par defaut, la ligne de commande est desactivee EnableSSHKeysign Definir cette option a yes dans le fichier de configuration globale du client /etc/ssh/ssh_config active le recours a l'utilitaire ssh-keysign(8) lors de l'authentification HostbasedAuthentication. L'argument doit etre yes ou no (la valeur par defaut). Cette option doit etre placee dans la section non specifique a une machine. Voir ssh-keysign(8) pour plus d'informations. EscapeChar Cette option permet de definir le caractere d'echappement (par defaut << ~ >>). Le caractere d'echappement peut aussi etre defini sur la ligne de commande. L'argument doit etre un caractere seul, << ^ >> suivi d'une lettre ou none pour desactiver totalement le caractere d'echappement, ce qui rend la connexion transparente pour les donnees binaires. ExitOnForwardFailure Cette option permet de specifier si ssh(1) doit fermer la connexion s'il ne peut pas configurer toutes les redirections dynamiques, par tunnel, locales et distantes demandees (par exemple si une des deux extremites est incapable de se lier et d'ecouter sur un port donne). Notez que cette option ne s'applique pas aux connexions etablies a l'aide de redirections de port ; par exemple, elle n'impliquera pas la terminaison de ssh(1) si les connexions TCP vers la destination de redirection finale echouent. L'argument doit etre yes ou no (la valeur par defaut). FingerprintHash Cette option permet de specifier l'algorithme de hachage utilise lors de l'affichage des empreintes de cle. Les valeurs possibles sont md5 et sha256 (la valeur par defaut). ForkAfterAuthentication Cette option permet de demander a ssh de passer en arriere-plan juste avant l'execution de la commande. Elle s'avere utile s'il est prevu que ssh demande des mots ou phrases de passe, et si l'utilisateur veut que cela se passe en arriere-plan. Cela implique que l'option de configuration StdinNull soit definie a yes. La methode recommandee pour lancer des programmes X11 sur un site distant consiste a utiliser quelque chose du genre ssh -f machine xterm, ce qui est identique a ssh machine xterm si l'option de configuration ForkAfterAuthentication est definie a yes. Si l'option de configuration ExitOnForwardFailure est definie a yes, un client demarre avec l'option de configuration ForkAfterAuthentication definie a yes attendra que toutes les redirections de port distantes soient etablies avec succes avant de se placer de lui-meme en arriere-plan. L'argument de cette option doit etre yes (meme effet que l'option de ligne de commande -f) ou no (la valeur par defaut). ForwardAgent Cette option permet de specifier si la connexion a l'agent d'authentification (s'il existe) doit etre redirigee vers la machine distante. L'argument peut etre yes, no (la valeur par defaut), un chemin explicite vers un socket d'agent ou le nom d'une variable d'environnement (commencant par << $ >>) contenant ce chemin. La redirection d'agent doit etre utilisee avec prudence. En effet, un utilisateur ayant la possibilite de court-circuiter les permissions de fichier sur la machine distante (pour le socket de domaine Unix de l'agent) pourra acceder a l'agent local a travers la connexion redirigee. Un attaquant ne pourra pas obtenir de donnees a propos des cles a partir de l'agent, mais il pourra cependant effectuer des operations sur ces dernieres qui lui permettront de s'authentifier en utilisant les identites chargees dans l'agent. ForwardX11 Cette option permet de specifier si les connexions X11 doivent etre redirigees automatiquement dans le canal securise et la variable d'environnement DISPLAY definie. L'argument doit etre yes ou no (la valeur par defaut). La redirection X11 doit etre utilisee avec prudence. En effet, un utilisateur ayant la possibilite de court-circuiter les permissions de fichier sur la machine distante (pour la base de donnees d'autorisations X11 de l'utilisateur) pourra acceder au << display >> X11 local a travers la connexion redirigee. Un attaquant pourra alors effectuer des operations comme l'interception des frappes de touches au clavier si l'option ForwardX11Trusted est elle aussi activee. ForwardX11Timeout Cette option permet de specifier un delai pour les redirections X11 non fiables en utilisant le format decrit dans la section FORMATS DE TEMPS de sshd_config(5). Les connexions X11 recues par ssh(1) apres ce delai seront rejetees. Definir ForwardX11Timeout a zero desactive le delai et permet les redirections X11 pendant toute la duree de vie de la connexion. Par defaut, une redirection X11 non fiable sera desactivee apres un delai de vingt minutes. ForwardX11Trusted Si cette option est definie a yes, les clients X11 distants auront un acces total au << display >> X11 originel. Si cette option est definie a no (la valeur par defaut), les clients X11 distants seront consideres comme non fiables et ne pourront pas voler ou alterer de donnees appartenant a des clients X11 fiables. En outre, le jeton xauth(1) utilise pour la session sera configure pour expirer apres 20 minutes. Les clients distants se verront refuser l'acces apres ce delai. Voir les specifications de l'extension X11 SECURITY pour tous les details des restrictions imposees aux clients non fiables. GatewayPorts Cette option permet de specifier si les machines distantes sont autorisees a se connecter aux ports locaux rediriges. Par defaut ssh(1) associe les redirections de ports locaux a l'adresse de bouclage (loopback). Cela empeche les autres machines distantes de se connecter a des ports rediriges. GatewayPorts permet de specifier que ssh(1) doit associer les redirections de ports locaux a l'adresse avec caracteres generiques (wildcard), et par consequent, autorise les machines distantes a se connecter aux ports rediriges. L'argument doit etre yes ou no (la valeur par defaut). GlobalKnownHostsFile Cette option permet de specifier un ou plusieurs fichiers, separes par des blancs, de base de donnees globale des cles d'hote a utiliser a la place des fichiers par defaut /etc/ssh/ssh_known_hosts et /etc/ssh/ssh_known_hosts2 GSSAPIAuthentication Cette option permet d'indiquer si l'authentification utilisateur basee sur GSSAPI est autorisee. La valeur par defaut est no. GSSAPIDelegateCredentials Cette option permet de transferer (deleguer) les donnees de connexion au serveur. La valeur par defaut est no. HashKnownHosts Cette option permet de specifier que ssh(1) doit hacher les adresses et noms de machines lors de leur ajout a ~/.ssh/known_hosts. Ces noms haches peuvent etre utilises normalement par ssh(1) et sshd(8), mais ils ne reveleront pas visuellement d'informations d'identification en cas de divulgation du contenu du fichier. La valeur par defaut est no. Notez que les adresses et noms preexistants dans le fichier des machines connues ne seront pas haches automatiquement, mais pourront l'etre manuellement a l'aide de ssh-keygen(1). HostbasedAcceptedAlgorithms Cette option permet de specifier les algorithmes de signature qui seront utilises pour l'authentification basee sur la machine sous la forme d'une liste de motifs separes par des virgules. Si la liste d'algorithmes specifiee commence par le caractere << + >>, elle s'ajoutera a la liste par defaut au lieu de la remplacer. Si la liste d'algorithmes specifiee commence par le caractere << - >>, elle sera supprimee (en tenant compte des caracteres generiques) de la liste par defaut au lieu de la remplacer. Si la liste d'algorithmes specifiee commence par un caret << ^ >>, elle sera placee a la tete de la liste par defaut. La liste d'algorithmes par defaut est : 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 L'option -Q de ssh(1) permet d'afficher la liste des algorithmes de signature pris en charge. Elle se nommait auparavant HostbasedKeyTypes. HostbasedAuthentication Cette option permet de specifier si l'on tente d'utiliser l'authentification basee sur les rhosts avec l'authentification par cle publique. L'argument est yes ou no (la valeur par defaut). HostKeyAlgorithms Cette option permet de specifier les algorithmes de signature de la cle d'hote que le client souhaite utiliser par ordre de preference. Si la liste d'algorithmes specifiee commence par le caractere << + >>, elle s'ajoutera a la liste par defaut au lieu de la remplacer. Si la liste d'algorithmes specifiee commence par le caractere << - >>, elle sera supprimee (en tenant compte des caracteres generiques) de la liste par defaut au lieu de la remplacer. Si la liste d'algorithmes specifiee commence par un caret << ^ >>, elle sera placee a la tete de la liste par defaut. La liste d'algorithmes par defaut est : 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 Si les cles d'hote sont connues pour la machine de destination, cette liste par defaut est modifiee La liste des algorithmes de signature disponibles peut aussi etre obtenue a l'aide de la commande << ssh -Q HostKeyAlgorithms >>. HostKeyAlias Cette option permet de specifier un alias a utiliser a la place du vrai nom de machine lors des recherches et des sauvegardes de cle d'hote dans les fichiers de base de donnees des cles d'hote et lors de la validation de certificats de machines. Cette option s'avere utile pour faire passer des connexions SSH par un tunnel, ou si plusieurs serveurs tournent sur une seule machine. Hostname Cette option permet de specifier le vrai nom de la machine sur laquelle on se connecte. On peut l'utiliser pour specifier des surnoms ou des diminutifs de machines. Les arguments de Hostname acceptent les symboles decrits dans la section SYMBOLES. Les adresses IP sont aussi autorisees, a la fois sur la ligne de commande et par les specifications de cette option. La valeur par defaut est le nom donne sur la ligne de commande. IdentitiesOnly Cette option permet de specifier que ssh(1) ne doit utiliser que les fichiers de certificats et d'identites d'authentification configures (les fichiers par defaut ou ceux explicitement configures dans les fichiers de ssh_config ou passes sur la ligne de commande de ssh(1)), meme si ssh-agent(1), PKCS11Provider ou SecurityKeyProvider offrent davantage d'identites. L'argument doit etre yes ou no (la valeur par defaut). Cette option est destinee aux situations ou ssh-agent offre de nombreuses identites differentes. IdentityAgent Cette option permet de specifier le socket de domaine Unix utilise pour communiquer avec l'agent d'authentification. Elle outrepasse la variable d'environnement SSH_AUTH_SOCK et permet de selectionner un agent particulier. Definir le nom du socket a none a pour effet de desactiver l'utilisation d'un agent d'authentification. Si l'argument est << SSH_AUTH_SOCK >>, le chemin du socket sera extrait de la variable d'environnement SSH_AUTH_SOCK. Autrement, si l'argument commence par un caractere << $ >>, il sera traite en tant que variable d'environnement contenant le chemin du socket. Les arguments de IdentityAgent peuvent utiliser la syntaxe avec tilde << ~ >> pour faire reference au repertoire personnel d'un utilisateur, les symboles decrits dans la section SYMBOLES et les variables d'environnement decrites dans la section VARIABLES D'ENVIRONNEMENT. IdentityFile Cette option permet de specifier un fichier a partir duquel sera lue l'identite d'authentification DSA, ECDSA, ECDSA hebergee par un authentificateur, Ed25519, Ed25519 hebergee par un authentificateur ou RSA de l'utilisateur. Vous pouvez aussi specifier un fichier de cle publique pour utiliser la cle privee correspondante chargee dans l'agent ssh-agent(1) lorsque le fichier de cle privee n'est pas present en local. Les fichiers par defaut sont ~/.ssh/id_rsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ecdsa_sk, ~/.ssh/id_ed25519, ~/.ssh/id_ed25519_sk et ~/.ssh/id_dsa. En outre, toute identite representee par l'agent d'authentification pourra etre utilisee pour l'authentification, sauf si IdentitiesOnly est definie. Si aucun certificat n'a ete explicitement specifie par CertificateFile, ssh(1) essaiera de charger les informations de certificat a partir du fichier dont le nom s'obtient en ajoutant -cert.pub au chemin du fichier specifie a l'aide de IdentityFile. Les arguments de IdentityFile peuvent utiliser la syntaxe avec tilde << ~ >> pour faire reference au repertoire personnel d'un utilisateur ou les symboles decrits dans la section SYMBOLES. Sinon, un argument de valeur none permettra d'indiquer qu'aucun fichier d'identite ne doit etre charge. Il est possible de specifier plusieurs fichiers d'identite dans les fichiers de configuration ; toutes ces identites seront essayees sequentiellement. Les identites specifiees par plusieurs directives IdentityFile s'ajouteront a la liste des identites essayees (ce comportement est different de celui des autres directives de configuration). IdentityFile peut etre utilisee en combinaison avec IdentitiesOnly pour selectionner les identites disponibles dans un agent lors de l'authentification. IdentityFile peut aussi etre utilisee en combinaison avec CertificateFile pour fournir tout certificat necessaire a l'authentification avec l'identite. IgnoreUnknown Cette option permet de specifier une liste sous forme de motifs d'options inconnues qui devront etre ignorees si elles sont rencontrees lors de l'interpretation de la configuration. Elle permet d'eviter la survenue d'erreurs au cas ou ssh_config contiendrait des options non reconnues par ssh(1). Il est recommande de placer la directive IgnoreUnknown au tout debut du fichier de configuration, car elle ne s'applique qu'aux options qui apparaissent apres elle. Include Cette option permet d'inclure le(s) fichier(s) de configuration specifie(s). Il est possible de specifier plusieurs chemins de fichier, chacun d'entre eux pouvant contenir des caracteres generiques de glob(7) et, pour les configurations utilisateur, des references au repertoire personnel de l'utilisateur sous forme d'un caractere tilde << ~ >> (dans le style de l'interpreteur de commande). Les chemins avec caracteres generiques seront evalues et les fichiers resultants traites par ordre lexical. Les fichiers dont le chemin est relatif sont supposes se trouver dans ~/.ssh s'ils sont inclus dans un fichier de configuration utilisateur, ou dans /etc/ssh s'ils sont inclus dans le fichier de configuration du systeme. La directive Include peut etre placee dans un bloc Match ou Host afin d'effectuer une inclusion conditionnelle. IPQoS Cette option permet de specifier le type de service (TOS) IPv4 ou la classe DSCP pour les connexions. Les valeurs possibles sont 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, une valeur numerique ou none qui est equivalent a la valeur par defaut du systeme d'exploitation. Cette option accepte un ou deux arguments separes par un blanc. Si un seul argument est specifie, il est utilise comme classe de paquet sans condition. Si deux arguments sont specifies, le premier est automatiquement selectionne pour les sessions interactives et le second pour les sessions non interactives. La valeur par defaut est af21 (donnees a faible latence) pour les sessions interactives et cs1 (effort moindre) pour les sessions non interactives. KbdInteractiveAuthentication Cette option permet d'indiquer l'utilisation de l'authentification interactive a l'aide du clavier. L'argument doit etre yes (la valeur par defaut) ou no. ChallengeResponseAuthentication est un alias obsolete de cette option. KbdInteractiveDevices Cette option permet de specifier une liste de methodes pour utiliser l'authentification interactive a l'aide du clavier. Il est possible d'indiquer plusieurs noms de methode, ces derniers devant etre separes par des virgules. Par defaut, c'est la liste specifiee du serveur qui est utilisee. Les methodes disponibles varient en fonction de ce que le serveur prend en charge. Pour un serveur OpenSSH par exemple, elles peuvent etre egales a une ou plusieurs parmi bsdauth et pam. KexAlgorithms Cette option permet de specifier la liste des algorithmes d'echange de cles KEX (Key Exchange) disponibles. Les noms d'algorithme multiples doivent etre separes par des virgules. Si la liste d'algorithmes specifiee commence par le caractere << + >>, elle s'ajoutera a la liste par defaut au lieu de la remplacer. Si la liste d'algorithmes specifiee commence par le caractere << - >>, elle sera supprimee (en tenant compte des caracteres generiques) de la liste par defaut au lieu de la remplacer. Si la liste d'algorithmes specifiee commence par un caret << ^ >>, elle sera placee a la tete de la liste par defaut. La liste d'algorithmes par defaut est : 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 On peut aussi obtenir la liste des algorithmes d'echange de cles disponibles a l'aide de la commande << ssh -Q kex >>. KnownHostsCommand Cette option permet de specifier une commande permettant d'obtenir une liste de cles d'hote venant s'ajouter a celles listees dans les fichiers UserKnownHostsFile et GlobalKnownHostsFile. Cette commande est executee une fois les fichiers lus. Elle peut afficher les lignes de cles de machine sur la sortie standard dans un format identique a celui des fichiers habituels (decrit dans la section VERIFIER LES CLES DE LA MACHINE de ssh(1)). Les arguments de KnownHostsCommand acceptent les symboles decrits dans la section SYMBOLES. La commande peut etre invoquee plusieurs fois au cours d'une meme connexion : une fois lors de la preparation de la liste des algorithmes de cles d'hote preferes a utiliser, une autre fois pour obtenir la cle d'hote pour le nom de machine demande et une derniere fois, si CheckHostIP est activee, pour obtenir la cle d'hote correspondant a l'adresse du serveur. Si la commande quitte anormalement ou renvoie un code de retour different de zero, la connexion est fermee. LocalCommand Cette option permet de specifier une commande a executer sur la machine locale apres une connexion reussie au serveur. La commande s'etend jusqu'a la fin de la ligne et est executee avec l'interpreteur de commande de l'utilisateur. Les arguments de LocalCommand acceptent les symboles decrits dans la section SYMBOLES. La commande est executee en mode synchrone et n'a pas acces a la session du ssh(1) qui l'a generee. Elle ne doit pas etre utilisee pour les commandes interactives. Cette directive est ignoree si PermitLocalCommand n'a pas ete activee. LocalForward Cette option permet de specifier qu'un port TCP sur la machine locale doit etre redirige par le tunnel securise vers les machine et port specifies a partir de la machine distante. Le premier argument specifie le point d'ecoute et peut etre [adr_sortie:]port ou le chemin d'un socket de domaine Unix. Le second argument specifie la destination et peut etre machine:port_machine ou le chemin d'un socket de domaine Unix si la machine distante le prend en charge. On peut specifier des adresses IPv6 en les entourant de crochets. Il est possible de specifier plusieurs redirections et des redirections additionnelles peuvent etre indiquees sur la ligne de commande. Seul le superutilisateur peut rediriger des ports privilegies. Par defaut, le port local est lie en tenant compte de la definition de GatewayPorts. Il est cependant possible d'indiquer une adresse adr_sortie explicite pour lier la connexion a une adresse particuliere. Une adresse adr_sortie egale a localhost indique que le port d'ecoute ne doit etre lie que pour un usage local, alors qu'une adresse vide ou << * >> indique que le port sera disponible sur toutes les interfaces. Les chemins de socket de domaine Unix peuvent utiliser les symboles decrits dans la section SYMBOLES et les variables d'environnement comme decrit dans la section VARIABLES D'ENVIRONNEMENT. LogLevel Cette option permet de specifier le niveau de prolixite qui sera utilise lors de la journalisation des messages en provenance de ssh(1). Les valeurs possibles sont : QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 et DEBUG3. La valeur par defaut est INFO. DEBUG et DEBUG1 sont equivalents. DEBUG2 et DEBUG3 correspondent a des niveaux superieurs de prolixite pour la sortie. LogVerbose Cette option permet de definir un ou plusieurs outrepassements de LogLevel. Un outrepassement consiste en une liste de motifs qui correspondent au fichier source, a la fonction et au numero de ligne pour lesquels la journalisation sera plus detaillee. Par exemple, le motif d'outrepassement suivant : kex.c:*:1000,*:kex_exchange_identification():*,packet.c:* activerait la journalisation detaillee pour la ligne 1000 de kex.c, tout ce qui concerne la fonction kex_exchange_identification() et l'ensemble du code contenu dans le fichier packet.c. Cette option s'utilise a des fins de debogage et aucun outrepassement n'est active par defaut. MACs Cette option permet de specifier les algorithmes MAC (message authentication code) par ordre de preference. L'algorithme MAC est utilise pour la protection de l'integrite des donnees. On peut specifier plusieurs algorithmes en les separant par des virgules. Si la liste d'algorithmes specifiee commence par le caractere << + >>, elle s'ajoutera a la liste par defaut au lieu de la remplacer. Si la liste d'algorithmes specifiee commence par le caractere << - >>, elle sera supprimee (en tenant compte des caracteres generiques) de la liste par defaut au lieu de la remplacer. Si la liste d'algorithmes specifiee commence par un caret << ^ >>, elle sera placee a la tete de la liste par defaut. Les algorithmes dont le nom contient << -etm >> calculent le MAC apres chiffrement (encrypt-then-mac). Ils sont consideres comme plus surs et leur utilisation est recommandee. La liste d'algorithmes par defaut est : 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 La liste des algorithmes MAC disponibles peut aussi etre obtenue a l'aide de la commande << ssh -Q mac >>. NoHostAuthenticationForLocalhost Cette option permet de desactiver l'authentification de la machine pour localhost (les adresses loopback). L'argument doit etre yes ou no (la valeur par defaut). NumberOfPasswordPrompts Cette option permet de specifier le nombre de tentatives de saisie de mot de passe avant d'abandonner. L'argument doit etre un entier et sa valeur par defaut est 3. ObscureKeystrokeTiming Cette option permet d'indiquer si ssh(1) doit essayer de dissimuler les delais entre frappes de touches aux observateurs passifs sur le reseau. Si elle est activee, pour les sessions interactives, ssh(1) va envoyer les frappes de touches a intervalles fixes de quelques dizaines de millisecondes et enverra des paquets de frappes de touches factices pendant un certain temps apres que la frappe de touches a cesse. L'argument doit etre yes, no ou un intervalle sous la forme interval:millisecondes (par exemple interval:80 pour 80 millisecondes). La valeur par defaut est de 20 millisecondes. Notez que des intervalles plus courts impliqueront des taux de paquets factices plus importants. PasswordAuthentication Cette option permet de specifier si on utilise l'authentification par mot de passe. L'argument est yes (la valeur par defaut) ou no. PermitLocalCommand Cette option permet d'autoriser l'execution de commandes locales a l'aide de l'option LocalCommand ou de la sequence d'echappement !commande dans ssh(1). L'argument doit etre yes ou no (la valeur par defaut). PermitRemoteOpen Cette option permet de specifier les destinations vers lesquelles la redirection de port TCP distant est autorisee lorsque RemoteForward est utilisee comme mandataire SOCKS. La specification de redirection doit etre sous une des formes suivantes : PermitRemoteOpen machine:port PermitRemoteOpen adr_IPv4:port PermitRemoteOpen [adr_IPv6]:port Il est possible de specifier plusieurs redirections en les separant par des blancs. Un argument de valeur any permet de lever toutes les restrictions et autorise toutes les requetes de redirection. Un argument de valeur none permet d'interdire toute requete de redirection. Le caractere generique << * >> a la place de machine ou port permet d'autoriser toute machine ou port, respectivement. Ces valeurs mises a part, aucune recherche d'adresse ou de correspondance de motif n'est effectuee sur les noms fournis. PKCS11Provider Cette option permet de specifier quel fournisseur PKCS#11 utiliser ou none pour indiquer qu'aucun fournisseur ne doit etre utilise (la valeur par defaut). L'argument doit contenir un chemin vers la bibliotheque partagee PKCS#11 que ssh(1) doit utiliser pour communiquer avec un jeton PKCS#11 fournissant des cles pour l'authentification de l'utilisateur. Port Cette option permet de specifier le numero de port pour se connecter sur la machine distante. La valeur par defaut est 22. PreferredAuthentications Cette option permet d'indiquer l'ordre dans lequel le client doit essayer les methodes d'authentification. Elle permet au client de choisir une methode (par exemple keyboard-interactive) plutot qu'une autre (par exemple password). L'ordre par defaut est : gssapi-with-mic,hostbased,publickey, keyboard-interactive,password ProxyCommand Cette option permet de specifier la commande a utiliser pour se connecter au serveur. La chaine de caracteres contenant la commande s'etend jusqu'a la fin de la ligne et est executee en utilisant la directive << exec >> de l'interpreteur de commande de l'utilisateur pour eviter la persistance d'un processus d'interpreteur de commande. Les arguments de ProxyCommand acceptent les symboles decrits dans la section SYMBOLES. La commande peut etre quelconque, et doit lire depuis son entree standard et ecrire sur sa sortie standard. Elle doit en fin de compte se connecter sur un serveur sshd(8) tournant sur une machine quelconque, ou executer sshd -i sur une autre machine. La gestion des cles de machine est assuree en utilisant le nom de la machine (option Hostname) sur laquelle on se connecte (par defaut, le nom fourni par l'utilisateur). Un argument de valeur none desactive completement cette option. Notez que CheckHostIP n'est pas disponible pour les connexions qui utilisent une commande mandataire (proxy command). Cette directive s'avere particulierement utile en combinaison avec nc(1) et sa prise en charge du mandatement. Par exemple, la directive suivante effectuerait une connexion par l'intermediaire d'un mandataire HTTP a l'adresse 192.0.2.0 : ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p ProxyJump Cette option permet de specifier un ou plusieurs mandataires de saut soit sous la forme [utilisateur@]machine[:port], soit comme un URI ssh. Les mandataires multiples peuvent etre separes par des virgules et seront visites sequentiellement. Si cette option est definie, ssh(1) se connectera a la machine cible en etablissant tout d'abord une connexion ssh(1) avec la machine ProxyJump specifiee, puis en effectuant une redirection TCP vers la cible finale depuis le mandataire. Definir la machine a none desactive completement cette option. Notez que cette option entre en competition avec l'option ProxyCommand selon la regle suivante : celle qui est definie en premier empechera la prise en compte des instances ulterieures de l'autre. Notez aussi que la configuration pour la machine de destination (fournie sur la ligne de commande ou dans le fichier de configuration) ne s'applique en general pas aux machines de saut. Une configuration specifique pour les machines de saut necessite l'utilisation de ~/.ssh/config. ProxyUseFdpass Cette option permet d'indiquer que la commande definie par ProxyCommand va transmettre en retour un descripteur de fichier connecte a ssh(1) au lieu de continuer son execution et de transmettre des donnees. Sa valeur par defaut est no. PubkeyAcceptedAlgorithms Cette option permet de specifier les algorithmes de signature qui seront utilises pour l'authentification par cle publique sous la forme d'une liste de motifs separes par des virgules. Si la liste d'algorithmes specifiee commence par le caractere << + >>, elle s'ajoutera a la liste par defaut au lieu de la remplacer. Si la liste d'algorithmes specifiee commence par le caractere << - >>, elle sera supprimee (en tenant compte des caracteres generiques) de la liste par defaut au lieu de la remplacer. Si la liste d'algorithmes specifiee commence par un caret << ^ >>, elle sera placee a la tete de la liste par defaut. La liste d'algorithmes par defaut est : 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 La liste des algorithmes de signature disponibles peut aussi etre obtenue a l'aide de la commande << ssh -Q PubkeyAcceptedAlgorithms >>. PubkeyAuthentication Cette option permet de specifier si on utilise l'authentification par cle publique. L'argument est yes (la valeur par defaut), no, unbound ou host-bound. Les deux dernieres options activent l'authentification par cle publique, tout en desactivant ou activant, respectivement, l'extension du protocole d'authentification d'OpenSSH << host-bound >> requise pour les redirections ssh-agent(1) restreintes. RekeyLimit Cette option permet de specifier la quantite maximale de donnees qui peuvent etre envoyees ou recues et optionnellement un temps maximal pouvant s'ecouler au dela desquels la cle de session devra etre renegociee. Le premier argument est specifie en octets et peut comporter un suffixe parmi << K >>, << M >> ou << G >> pour indiquer respectivement des kilo-octets, des mega-octets et des giga-octets. La valeur par defaut est soit << 1G >>, soit << 4G >> en fonction de l'algorithme de chiffrement. Le second argument optionnel est specifie en secondes et peut utiliser toute unite documentee dans la section << FORMATS DE TEMPS >> de sshd_config(5). La valeur par defaut de RekeyLimit est default none, ce qui signifie que la renegociation de la cle est effectuee apres que la quantite de donnees par defaut de l'algorithme de chiffrement a ete envoyee ou recue et sans tenir compte du temps ecoule. RemoteCommand Cette option permet de specifier une commande a executer sur la machine distante apres une connexion reussie au serveur. La chaine representant la commande s'etend jusqu'a la fin de la ligne et est executee avec l'interpreteur de commande de l'utilisateur. Les arguments de RemoteCommand acceptent les symboles decrits dans la section SYMBOLES. RemoteForward Cette option permet de specifier qu'un port TCP sur la machine distante doit etre redirige par le tunnel securise. Le port distant peut etre redirige vers une machine et un port specifiques depuis la machine locale ou peut agir en tant que mandataire SOCKS 4/5 qui permet a un client distant de se connecter a des destinations arbitraires depuis la machine locale. Le premier argument represente les specifications d'ecoute et peut contenir [adr_sortie:]port ou, si la machine distante le prend en charge, le chemin d'un socket de domaine Unix. Si la redirection s'effectue vers une destination specifique, le second argument doit contenir machine:port_machine ou le chemin d'un socket de domaine Unix ; si aucun argument destination n'est specifie, la redirection distante sera etablie en tant que mandataire SOCKS. Lorsqu'elle agit en tant que mandataire SOCKS, la destination de la connexion peut etre restreinte a l'aide de PermitRemoteOpen. Les adresses IPv6 doivent etre entourees de crochets. Il est possible de specifier plusieurs redirections et des redirections additionnelles peuvent etre indiquees sur la ligne de commande. Les ports privilegies ne peuvent etre rediriges que si l'on se connecte en tant que superutilisateur sur la machine distante. Les chemins de sockets de domaine Unix peuvent utiliser les symboles decrits dans la section SYMBOLES et les variables d'environnement comme decrit dans la section VARIABLES D'ENVIRONNEMENT. Si l'argument port est egal a 0, le port d'ecoute sera alloue dynamiquement sur le serveur et indique au client a l'execution. Si l'adresse adr_sortie n'est pas specifiee, le comportement par defaut consiste a ne se lier qu'aux adresses de bouclage (loopback). Si l'adresse adr_sortie est vide ou egale a << * >>, la redirection ecoutera toutes les interfaces. Specifier une adresse adr_sortie distante ne reussira que si l'option du serveur GatewayPorts est activee (voir sshd_config(5)). RequestTTY Cette option permet d'indiquer si l'on demande un pseudo-terminal pour la session. L'argument peut avoir une des valeurs suivantes : no (ne jamais demander de terminal), yes (toujours demander un terminal lorsque l'entree standard est un terminal), force (toujours demander un terminal) ou auto (demander un terminal lors de l'ouverture d'une session de connexion). Cette option est equivalente aux drapeaux -t et -T de ssh(1). RequiredRSASize Cette option permet de specifier une taille minimale (en bits) pour la cle RSA. Les cles d'authentification utilisateur d'une taille inferieure a cette valeur seront ignorees. De meme, si un serveur presente une cle d'hote d'une taille inferieure a cette valeur, le processus de connexion sera interrompu. La valeur par defaut est de 1024 bits. Notez que cette option ne peut etre definie qu'a une valeur superieure a la valeur par defaut. RevokedHostKeys Cette option permet de specifier des cles publiques de machine revoquees. Les cles contenues dans le fichier indique seront rejetees lors d'une authentification de machine. Notez que si ce fichier n'existe pas ou est illisible, l'authentification sera refusee pour toutes les machines. Les cles peuvent etre specifiees sous la forme d'un fichier texte avec une cle par ligne ou d'une liste de revocations de cles (<< Key Revocation List >> -- KRL) d'OpenSSH comme generee par ssh-keygen(1). Pour plus d'informations a propos des KRL, voir la section << LISTES DE REVOCATIONS DE CLES >> de ssh-keygen(1). Les arguments peuvent utiliser la syntaxe avec tilde << ~ >> pour faire reference au repertoire personnel d'un utilisateur, les symboles decrits dans la section SYMBOLES et les variables d'environnement comme decrit dans la section VARIABLES D'ENVIRONNEMENT. SecurityKeyProvider Cette option permet de specifier le chemin de la bibliotheque qui sera utilisee lors du chargement de toute cle FIDO (Fast Identity Online) hebergee par un authentificateur, ce qui outrepasse le comportement par defaut qui consiste a utiliser la prise en charge de USB HID (USB human interface device) incluse. Si la valeur specifiee commence par un caractere << $ >>, elle sera traitee comme une variable d'environnement contenant le chemin de la bibliotheque. SendEnv Cette option permet de specifier les variables de l'environnement local environ(7) qui doivent etre envoyees au serveur. Le serveur doit aussi le prendre en charge et etre configure pour accepter ces variables d'environnement. Notez que la variable d'environnement TERM est envoyee chaque fois qu'un pseudo- terminal est demande, comme l'exige le protocole. Veuillez vous referer a l'option AcceptEnv dans sshd_config(5) pour savoir comment configurer le serveur. Les variables sont specifiees par leur nom qui peut contenir des caracteres generiques. Pour specifier plusieurs variables d'environnement, vous pouvez les separer par des blancs ou utiliser plusieurs fois l'option SendEnv. Voir MOTIFS pour plus d'informations a propos des motifs. Il est possible d'annuler une definition precedente de nom de variable avec SendEnv en prefixant le motif avec le caractere << - >>. Par defaut, aucune variable d'environnement n'est envoyee. ServerAliveCountMax Cette option permet de definir le nombre de messages de rappel au serveur (voir ci-dessous) qui peuvent etre envoyes sans que ssh(1) recoive de message en retour du serveur. Si cette limite est atteinte alors que des messages de rappel au serveur sont envoyes, ssh se deconnectera du serveur en fermant la session. Il est important de noter que l'utilisation de messages de rappel au serveur est tres differente de TCPKeepAlive (voir ci-dessous). Les messages de rappel au serveur sont envoyes par le canal chiffre et ne peuvent donc pas etre compromis. L'option << keepalive >> de TCP activee par TCPKeepAlive peut etre compromise. Le mecanisme de rappel au serveur s'avere utile lorsque le client ou le serveur ont besoin d'etre informes quand une connexion ne repond plus. La valeur par defaut est de 3. Si, par exemple, ServerAliveInterval (voir ci-dessous) est definie a 15 et si on laisse ServerAliveCountMax a sa valeur par defaut, ssh se deconnectera apres approximativement 45 secondes si le serveur ne repond plus. ServerAliveInterval Cette option permet de definir un delai en secondes apres lequel, si aucune donnee n'a ete recue du serveur, ssh(1) va envoyer un message par le canal chiffre pour demander une reponse au serveur. La valeur par defaut est 0 et indique qu'aucun message de ce type ne sera envoye au serveur. SessionType Cette option permet de demander l'invocation d'un sous-systeme sur le systeme distant ou d'empecher l'execution de toute commande distante. Cette derniere utilisation ne s'avere utile que pour rediriger des ports. L'argument doit etre egal a none (meme effet que l'option -N), subsystem (meme effet que l'option -s) ou default (execution d'une commande ou d'un interpreteur de commande). SetEnv Cette option permet de specifier directement une ou plusieurs variables d'environnement a envoyer au serveur ainsi que leur contenu. Comme avec SendEnv, excepte pour la variable TERM, le serveur doit etre prepare a accepter les variables d'environnement. StdinNull Cette option permet de rediriger l'entree standard << stdin >> vers /dev/null (ce qui revient a empecher toute lecture a partir de l'entree standard). Cette option doit etre definie ou son equivalent -n specifie lorsque ssh s'execute en arriere-plan. L'argument doit etre egal a yes (meme effet que l'option -n) ou no (la valeur par defaut). StreamLocalBindMask Cette option permet de definir le masque du mode de creation de fichier en octal (umask) utilise lors de la creation d'un fichier socket de domaine Unix pour la redirection de port local ou distant. Cette option ne s'utilise que pour la redirection de port vers un fichier socket de domaine Unix. La valeur par defaut est 0177, ce qui cree un fichier socket de domaine Unix qui n'est accessible en lecture et ecriture que par son proprietaire. Notez que tous les systemes d'exploitation ne prennent pas en charge le mode de fichier pour les fichiers socket de domaine Unix StreamLocalBindUnlink Cette option permet de specifier si le fichier socket de domaine Unix existant pour la redirection de port local ou distant doit etre supprime avant d'en creer un nouveau. Si le fichier socket existe deja et si StreamLocalBindUnlink n'est pas activee, ssh ne pourra pas rediriger le port vers le fichier socket de domaine Unix. Cette option ne s'utilise que pour la redirection de port vers un fichier socket de domaine Unix. L'argument doit etre egal a yes ou no (la valeur par defaut). StrictHostKeyChecking Si cette option a pour argument yes, ssh(1) n'ajoutera jamais automatiquement de cles d'hote au fichier ~/.ssh/known_hosts et refusera de se connecter aux machines dont la cle d'hote a change. Cette option fournit une protection maximale contre les attaques de type << Homme du milieu >> (man-in-the-middle -- MITM), mais peut neanmoins s'averer genante si le fichier /etc/ssh/ssh_known_hosts n'est pas tres bien entretenu, ou si on se connecte frequemment a de nouvelles machines. Cette option impose a l'utilisateur d'ajouter manuellement toutes les nouvelles machines. Si cette option a pour argument accept-new, ssh(1) ajoutera automatiquement les nouvelles cles d'hote au fichier known_hosts de l'utilisateur, mais n'autorisera pas les connexions vers les machines dont la cle a change. Si cette option a pour argument no ou off, ssh(1) ajoutera automatiquement les nouvelles cles d'hote aux fichiers des machines connues de l'utilisateur et autorisera les connexions vers les machines dont la cle a change, avec certaines restrictions. Si cette option a pour argument ask (la valeur par defaut), les nouvelles cles d'hote ne seront ajoutees aux fichiers des machines connues de l'utilisateur que si l'utilisateur confirme que c'est ce qu'il souhaite, et ssh(1) refusera de se connecter aux machines dont la cle a change. Les cles d'hote connues seront automatiquement verifiees dans tous les cas. SyslogFacility Cette option permet de specifier le code de categorie (<< facility >>) utilise lors de la journalisation des messages de ssh(1). Les valeurs possibles sont : DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6 et LOCAL7. Le code par defaut est USER. TCPKeepAlive Cette option permet d'indiquer si le systeme doit envoyer des messages de rappel TCP a l'autre extremite de la connexion. Si ces messages sont envoyes, la mort de la connexion ou le plantage d'une des machines seront notifies de maniere appropriee. Cela signifie cependant que la connexion mourra si la route est momentanement interrompue, et certains utilisateurs trouvent cela genant. La valeur par defaut est yes (envoyer des messages de rappel TCP), et le client sera ainsi informe si le reseau tombe ou si la machine distante se plante. Etre informe de ces problemes s'avere important dans les scripts et de nombreux utilisateurs souhaitent aussi que cette information soit disponible. Pour desactiver l'envoi de messages de rappel TCP, cette option doit etre definie a no. Voir aussi ServerAliveInterval pour les signes de vie niveau protocole. Tag Cette option permet de specifier un nom de symbole de configuration qui pourra etre utilise ensuite par la directive Match pour selectionner un bloc de configuration. Tunnel Cette option permet de demander la redirection par dispositif de tunnel tun(4) entre le client et le serveur. L'argument doit etre egal a yes, point-to-point (couche 3), ethernet (couche 2) ou no (la valeur par defaut). Specifier yes demande le mode de tunnel par defaut, a savoir point-to-point. TunnelDevice Cette option permet de specifier le dispositif tun(4) a ouvrir sur le client ( (tunnel_local)) et sur le serveur ( (tunnel_distant)). L'argument doit etre de la forme tunnel_local[:tunnel_distant]. Les dispositifs de tunnel peuvent etre specifies par leur ID numerique ou le mot-cle any, ce dernier demandant l'utilisation du premier dispositif de tunnel disponible. Si tunnel_distant n'est pas specifie, sa valeur par defaut est any. La valeur par defaut de cette option est any:any. UpdateHostKeys Cette option permet de specifier si ssh(1) doit accepter d'ajouter au fichier UserKnownHostsFile des cles d'hote additionnelles notifiees par le serveur et envoyees une fois l'authentification terminee. L'argument doit etre egal a yes, no ou ask. Cette option permet d'enregistrer des cle d'hote de remplacement pour un serveur et prend en charge une rotation des cles en douceur en ce sens qu'elle permet a un serveur d'envoyer des cles publiques de remplacement avant que les anciennes soient supprimees. Les cles d'hote additionnelles ne sont acceptees que si la cle ayant servi a authentifier la machine etait fiable ou a ete explicitement acceptee par l'utilisateur, si la machine a ete authentifiee a l'aide du fichier UserKnownHostsFile (pas GlobalKnownHostsFile) et si la machine a ete authentifiee en utilisant une cle explicite et non un certificat. L'option UpdateHostKeys est activee par defaut si l'utilisateur n'a pas modifie la definition par defaut de UserKnownHostsFile et n'a pas active VerifyHostKeyDNS ; dans le cas contraire, UpdateHostKeys sera definie a no. Si l'option UpdateHostKeys est definie a ask, l'utilisateur devra confirmer les modifications a apporter au fichier UserKnownHostsFile. Actuellement, cette confirmation est incompatible avec l'option ControlPersist et sera desactivee si cette derniere est activee. Actuellement, seul sshd(8) d'OpenSSH versions 6.8 et superieures prend en charge l'extension de protocole << hostkeys@openssh.com >> utilisee pour informer le client de toutes les cles d'hote du serveur. User Cette option permet de specifier un nom d'utilisateur a utiliser pour se connecter. Cela peut s'averer utile si on se connecte avec des noms d'utilisateurs differents sur les differentes machines, et evite le souci de devoir se rappeler de passer le nom d'utilisateur sur la ligne de commande. UserKnownHostsFile Cette option permet de specifier un ou plusieurs fichiers a utiliser pour la base de donnees des cles d'hote de l'utilisateur, separes par des blancs. Chaque nom de fichier peut utiliser la syntaxe avec tilde << ~ >> pour faire reference au repertoire personnel d'un utilisateur, les symboles decrits dans la section SYMBOLES et les variables d'environnement comme decrit dans la section VARIABLES D'ENVIRONNEMENT. Si cette option est definie a none, ssh(1) ignorera tout fichier de machines connues specifique a l'utilisateur. Les fichiers par defaut sont ~/.ssh/known_hosts et ~/.ssh/known_hosts2. VerifyHostKeyDNS Cette option permet de specifier si la cle distante doit etre verifiee en utilisant les enregistrements de ressource DNS et SSHFP. Si elle est definie a yes, le client va implicitement considerer comme fiables les cles qui correspondent a une empreinte securisee en provenance du DNS. Les empreintes non securisees seront traitees comme si cette option avait ete definie a ask. Si elle est definie a ask, les informations de correspondance d'empreinte seront affichees, mais, en fonction de la definition de l'option StrictHostKeyChecking, l'utilisateur devra quand meme confirmer les nouvelles cles d'hote. La valeur par defaut est no. Voir aussi VERIFIER LES CLES DE LA MACHINE dans ssh(1). VisualHostKey Si cette option est definie a yes, une representation en art ASCII de l'empreinte de la cle d'hote distante sera affichee en plus de la chaine d'empreinte a la connexion et pour les cles d'hote inconnues. Si elle est definie a no (la valeur par defaut), aucune chaine d'empreinte ne sera affichee a la connexion et seule la chaine d'empreinte sera affichee pour les cles d'hote inconnues. XAuthLocation Cette option permet de specifier le nom de chemin complet du programme xauth(1). Le chemin par defaut est /usr/bin/xauth. MOTIFS Un motif consiste en zero ou plusieurs caracteres non blancs, le caractere << * >> (un caractere generique qui correspond a zero ou plusieurs caracteres) ou << ? >> (un caractere generique qui correspond a exactement un caractere). Par exemple, pour specifier un jeu de declarations pour toute machine des domaines en << .co.uk >>, on pourrait utiliser le motif suivant : Host *.co.uk Le motif suivant correspondrait a toute machine dans l'intervalle d'adresses reseau 192.168.0.[0-9] : Host 192.168.0.? Une liste de motifs contient une liste de motifs separes par des virgules. Dans une liste de motifs, chacun d'entre eux peut etre nie en le faisant preceder d'un point d'exclamation << ! >>. Par exemple, pour autoriser l'utilisation d'une cle depuis n'importe ou dans une organisation sauf depuis l'ensemble << dialup >>, on pourrait utiliser l'entree d'authorized_keys suivante : from="!*.dialup.example.com,*.example.com" Notez qu'une correspondance niee ne produira jamais de resultat positif d'elle-meme. Par exemple, essayer de faire correspondre << host3 >> a la liste de motifs suivante echouera toujours : from="!host1,!host2" La solution consiste ici a inclure un terme qui va produire une correspondance positive, comme un caractere generique : from="!host1,!host2,*" SYMBOLES Les arguments de certaines options peuvent utiliser des symboles qui sont interpretes a l'execution : %% Le caractere << % >>. %C Le hachage de %l%h%p%r%j. %d Le repertoire personnel de l'utilisateur local. %f L'empreinte de la cle d'hote du serveur. %H Le nom ou l'adresse de machine recherche dans le fichier known_hosts. %h Le nom de la machine distante. %I Une chaine decrivant la raison pour laquelle une commande KnownHostsCommand est executee : ADDRESS lorsqu'on recherche une machine par son adresse (seulement si CheckHostIP est activee), HOSTNAME lorsqu'on recherche une machine par son nom ou ORDER lors de la preparation de la liste d'algorithmes de cle d'hote preferes a utiliser pour la machine de destination. %i L'UID local. %j La valeur de l'option ProxyJump ou une chaine vide si cette option n'est pas definie. %K La cle d'hote codee en base64. %k L'alias de la cle d'hote si elle a ete specifiee, ou le nom originel de la machine distante donne sur la ligne de commande dans le cas contraire. %L Le nom de la machine locale. %l Le nom complet de la machine locale, domaine inclus. %n Le nom originel de la machine distante tel qu'il a ete specifie sur la ligne de commande. %p Le port distant. %r Le nom de l'utilisateur distant. %T L'interface reseau locale tun(4) ou tap(4) assignee si la redirection par tunnel a ete demandee, ou << NONE >> dans le cas contraire. %t Le type de la cle d'hote du serveur, par exemple ssh-ed25519. %u Le nom de l'utilisateur local. Les options CertificateFile, ControlPath, IdentityAgent, IdentityFile, KnownHostsCommand, LocalForward, Match exec, RemoteCommand, RemoteForward, RevokedHostKeys et UserKnownHostsFile acceptent les symboles %%, %C, %d, %h, %i, %j, %k, %L, %l, %n, %p, %r et %u. L'option KnownHostsCommand accepte en plus les symboles %f, %H, %I, %K et %t. L'option Hostname accepte les symboles %% et %h. L'option LocalCommand accepte tous les symboles. Les options ProxyCommand et ProxyJump acceptent les symboles %%, %h, %n, %p et %r. Notez que certaines de ces directives construisent des commandes destinees a etre executees a l'aide de l'interpreteur de commande, et comme ssh(1) n'effectue aucun filtrage ou echappement des caracteres qui ont une signification speciale dans les commandes de l'interpreteur de commande (comme les guillemets), il est de la responsabilite de l'utilisateur de s'assurer que les arguments passes a ssh(1) ne contiennent pas de caracteres de cette sorte et de faire en sorte que les symboles soient mis entre guillemets de maniere appropriee lorsqu'ils sont utilises. VARIABLES D'ENVIRONNEMENT Les arguments de certaines options peuvent etre interpretes a l'execution par l'evaluation des variables d'environnement du client en englobant ces dernieres avec ${} ; par exemple, ${HOME}/.ssh ferait reference au repertoire .ssh de l'utilisateur. Si une variable d'environnement specifiee n'existe pas, une erreur sera renvoyee et la definition de l'option concernee sera ignoree. Les options CertificateFile, ControlPath, IdentityAgent, IdentityFile, KnownHostsCommand et UserKnownHostsFile prennent en charge les variables d'environnement. Les options LocalForward et RemoteForward ne prennent en charge les variables d'environnement que pour les chemins de socket de domaine Unix. FICHIERS ~/.ssh/config C'est le fichier de configuration propre a l'utilisateur. Son format est decrit ci-dessus. Ce fichier est utilise par le client SSH. En raison du risque de piratage, ce fichier doit avoir des permissions strictes : accessible en lecture/ecriture pour l'utilisateur et non accessible en ecriture pour les autres. /etc/ssh/ssh_config C'est le fichier de configuration globale du systeme. Il fournit les valeurs par defaut des options tant pour celles qui ne sont pas definies dans le fichier de configuration de l'utilisateur que pour les utilisateurs qui ne possedent pas de fichier de configuration. Il doit etre accessible en lecture par tout le monde. VOIR AUSSI ssh(1) AUTEURS OpenSSH est derive 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 corrige de nombreux bogues, rajoute des nouvelles fonctionnalites et cree OpenSSH. Markus Friedl a contribue a la prise en charge des versions 1.5 et 2.0 du protocole SSH. TRADUCTION La traduction francaise de cette page de manuel a ete creee par Laurent Gautrot et Lucien Gentis Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3: https://www.gnu.org/licenses/gpl-3.0.html concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a debian-l10n-french@lists.debian.org Linux 6.10.10-arch1-1 $Mdocdate: 21 fevrier 2024 $ Linux 6.10.10-arch1-1