| SSHD_CONFIG(5) | File Formats Manual | SSHD_CONFIG(5) |
sshd_config —
Fichier de configuration du démon
d’OpenSSH
sshd(8) lit ses données de configuration
dans le fichier /etc/ssh/sshd_config (ou dans le
fichier spécifié à l'aide de l'option
-f sur la ligne de commande). Chaque ligne de ce
fichier contient une seule paire option/argument. Sauf mention contraire,
c’est la première valeur lue qui sera utilisée pour
chaque option. Les lignes qui commencent par le caractère
« # » et les lignes vides sont
considérées comme des commentaires. Pour représenter
des valeurs contenant des espaces, les arguments doivent être
entourés de guillemets droits doubles
« " ».
Notez que le paquet Debian openssh-server
définit plusieurs options avec des valeurs standards dans
/etc/ssh/sshd_config qui ne correspondent pas aux
valeurs par défaut de sshd(8) :
Include
/etc/ssh/sshd_config.d/*.confKbdInteractiveAuthentication
noX11Forwarding
yesPrintMotd
noAcceptEnv
LANG LC_* COLORTERM NO_COLORSubsystem
sftp /usr/lib/openssh/sftp-serverUsePAM
yesLes fichiers /etc/ssh/sshd_config.d/*.conf sont inclus au début du fichier de configuration et les options qui y sont définies l’emportent donc sur celles définies dans /etc/ssh/sshd_config.
Les options disponibles et leur signification sont les suivantes (les noms d’option ne sont pas sensibles à la casse, mais les arguments le sont) :
AcceptEnvSendEnv et SetEnv
dans ssh_config(5) pour la configuration du client. La
variable d’environnement TERM est toujours
acceptée quand un client demande un pseudo-terminal comme requis
par le protocole. Les variables sont spécifiées à
l’aide de leur nom qui peut contenir les caractères
génériques « * » et
« ? ». Il est possible de spécifier
plusieurs variables d’environnement en les séparant par des
espaces ou en définissant plusieurs directives
AcceptEnv. Gardez à l’esprit que
certaines variables d’environnement pourraient être
utilisées pour court-circuiter des environnements utilisateur
restreints ; c’est pourquoi cette directive doit être
utilisée avec prudence. Par défaut, aucune variable
d’environnement n’est acceptée.AddressFamilyany (la valeur par défaut),
inet (utiliser IPv4 seulement) ou
inet6 (utiliser IPv6 seulement).AllowAgentForwardingyes. Notez que désactiver
la redirection d’agent n’améliore la
sécurité que si les utilisateurs se voient aussi refuser
l’accès à un interpréteur de commande, car
dans le cas contraire, ils peuvent toujours installer leurs propres
redirecteurs.AllowGroupsDenyGroups, AllowGroups.
Voir la section MOTIFS dans ssh_config(5)
pour plus d’informations à propos des motifs. Cette option
peut apparaître plusieurs fois dans
sshd_config, chaque instance s’ajoutant
à la liste.
AllowStreamLocalForwardingyes (la valeur par défaut),
all pour autoriser la redirection de StreamLocal,
no pour interdire toute redirection de
StreamLocal, local pour n’autoriser que la
redirection locale (vue selon ssh(1)) ou
remote pour n’autoriser que la redirection
distante. Notez que désactiver la redirection de StreamLocal
n’améliore la sécurité que si les utilisateurs
se voient refuser l’accès à un interpréteur de
commande, car dans le cas contraire, ils peuvent toujours installer leurs
propres redirecteurs.AllowTcpForwardingyes
(la valeur par défaut), all pour autoriser
la redirection TCP, no pour interdire toute
redirection TCP, local pour n’autoriser que
la redirection locale (vue selon ssh(1)) ou
remote pour n’autoriser que la redirection
distante. Notez que désactiver la redirection TCP
n’améliore la sécurité que si les utilisateurs
se voient refuser l’accès à un interpréteur de
commande, car dans le cas contraire, ils peuvent toujours installer leurs
propres redirecteurs.AllowUsersDenyUsers,
AllowUsers.
Voir la section MOTIFS dans ssh_config(5)
pour plus d’informations à propos des motifs. Cette option
peut apparaître plusieurs fois dans
sshd_config, chaque instance s’ajoutant
à la liste.
AuthenticationMethodsany pour indiquer le comportement par
défaut qui consiste à accepter toute méthode
d’authentification unique. Si des listes sont
spécifiées, l’application avec succès de
toutes les méthodes d’authentification d’au moins une
de ces listes sera requise pour réussir l’authentification.
Par exemple, « publickey,password publickey,keyboard-interactive » nécessiterait de la part de l’utilisateur une authentification par clé publique suivie d’une authentification par mot de passe ou d’une authentification par saisie au clavier. Les méthodes d’authentification doivent être appliquées dans l’ordre selon lequel elles apparaissent dans chaque liste ; ainsi, dans cet exemple, l’application d’une méthode d’authentification par mot de passe ou par saisie au clavier avant l’application d’une méthode d’authentification par clé publique ne serait pas valable.
Avec l’authentification par saisie au clavier, il est
aussi possible de restreindre l’authentification à un
dispositif spécifique en ajoutant un deux-points
« : » suivi de l’identifiant du
dispositif bsdauth ou
pam, en fonction de la configuration du serveur.
Par exemple,
« keyboard-interactive:bsdauth » restreint
l’authentification par saisie au clavier au dispositif
bsdauth.
Si la méthode d’authentification par clé publique est indiquée plusieurs fois, sshd(8) s’assure que les clés qui ont été utilisées avec succès ne seront pas réutilisées pour les authentifications suivantes. Par exemple, « publickey,publickey » requiert l’utilisation de deux clés publiques différentes pour une authentification réussie.
Notez que chaque méthode d’authentification indiquée doit aussi être explicitement activée dans la configuration.
Les méthodes d’authentification disponibles
sont : « gssapi-with-mic »,
« hostbased »,
« keyboard-interactive »,
« none » (utilisée pour
l’accès à des comptes sans mot de passe lorsque
PermitEmptyPasswords est activé),
« password » et
« publickey ».
AuthorizedKeysCommandAuthorizedKeysCommand acceptent
les symboles décrits dans la section
SYMBOLES. Si aucun argument
n’est spécifié, c’est le nom
d’utilisateur de l’utilisateur cible qui est utilisé.
The program should produce on standard output zero or more
lines of authorized_keys output (see
AUTHORIZED_KEYS in sshd(8)).
AuthorizedKeysCommand is tried after the usual
AuthorizedKeysFile files and will not be
executed if a matching key is found there. By default, no
AuthorizedKeysCommand is run.
AuthorizedKeysCommandUserAuthorizedKeysCommand
sera exécutée. Il est recommandé de spécifier
un utilisateur dédié qui n’a pas d’autre
rôle sur l’hôte que d’exécuter des
commandes de clés autorisées. Si
AuthorizedKeysCommand est spécifié
alors que AuthorizedKeysCommandUser ne
l’est pas, sshd(8) refusera de
démarrer.AuthorizedKeysFileAuthorizedKeysFile may include wildcards and
accept the tokens described in the TOKENS
section. After expansion, AuthorizedKeysFile is
taken to be an absolute path or one relative to the user's home directory.
Multiple files may be listed, separated by whitespace. Alternately this
option may be set to none to skip checking for
user keys in files. The default is ".ssh/authorized_keys
.ssh/authorized_keys2".AuthorizedPrincipalsCommandAuthorizedPrincipalsFile
(NDT : un « principal » est une
chaîne arbitraire définie au niveau du serveur pour un
utilisateur et devant être présente dans le certificat du
client pour que ce dernier puisse se connecter). Le programme doit
être la propriété du superutilisateur, non accessible
en écriture pour le groupe ou pour les autres et
spécifié à l’aide d’un chemin absolu.
Les arguments de AuthorizedPrincipalsCommand
acceptent les symboles décrits dans la section
SYMBOLES. Si aucun argument
n’est spécifié, c’est le nom
d’utilisateur de l’utilisateur cible qui sera
utilisé.
Le programme doit produire sur la sortie standard zéro
ou plusieurs lignes du fichier
AuthorizedPrincipalsFile. Si au moins une des
options AuthorizedPrincipalsCommand ou
AuthorizedPrincipalsFile est
spécifiée, les certificats proposés par le client
pour l’authentification devront contenir un
« principal » faisant partie de la liste.
Par défaut, aucune commande
AuthorizedPrincipalsCommand n’est
exécutée.
AuthorizedPrincipalsCommandUserAuthorizedPrincipalsCommand sera
exécutée. Il est recommandé de spécifier un
utilisateur dédié qui n’a pas d’autre
rôle sur l’hôte que d’exécuter des
commandes de laissez-passer autorisées. Si
AuthorizedPrincipalsCommand est
spécifié alors que
AuthorizedPrincipalsCommandUser ne l’est
pas, sshd(8) refusera de démarrer.AuthorizedPrincipalsFileTrustedUserCAKeys, this file lists names, one
of which must appear in the certificate for it to be accepted for
authentication. Names are listed one per line preceded by key options (as
described in AUTHORIZED_KEYS FILE FORMAT in
sshd(8)). Empty lines and comments starting with
‘#’ are ignored.
Arguments to AuthorizedPrincipalsFile
may include wildcards and accept the tokens described in the
TOKENS section. After expansion,
AuthorizedPrincipalsFile is taken to be an
absolute path or one relative to the user's home directory. The default
is none, i.e. not to use a principals file
– in this case, the username of the user must appear in a
certificate's principals list for it to be accepted.
Notez que AuthorizedPrincipalsFile
n’est utilisé que lorsque l’authentification est
effectuée en utilisant une autorité de certification (CA)
listée dans TrustedUserCAKeys et
n’est pas consulté pour des CA définies comme
fiables à l’aide de
~/.ssh/authorized_keys, bien que l’option
de clé principals= offre des
possibilités similaires (voir sshd(8) pour les
détails).
Bannernone, aucune bannière
n’est affichée, ce qui correspond au comportement par
défaut.CASignatureAlgorithmsssh-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 spécifiée commence par un caractère « + », les algorithmes qu’elle contient seront ajoutés à la liste par défaut au lieu de la remplacer. Si la liste spécifiée commence par un caractère « - », les algorithmes qu’elle contient (pouvant contenir des caractères génériques) seront supprimés de la liste par défaut au lieu de la remplacer.
Les certificats signés en utilisant d’autres algorithmes ne seront pas acceptés pour l’authentification par clé publique ou basée sur l’hôte.
ChannelTimeoutLa valeur de délai « interval » est spécifiée en secondes ou peut utiliser une unité documentée dans la section FORMATS DE TEMPS. Par exemple, « session=5m » signifierait que les sessions interactives seraient fermées après cinq minutes d’inactivité. Spécifier une valeur de zéro désactive le délai d’inactivité.
La valeur spéciale de délai « global » s’applique à tous les canaux actifs pris dans leur ensemble. La présence de trafic sur un canal actif réinitialise le délai, mais lorsque le délai expire, tous les canaux sont fermés. Notez que ce délai « global » ne peut pas être exprimé à l’aide de caractères génériques et qu’il doit donc être spécifié explicitement.
Les noms de type de canal comprennent :
agent-connectiondirect-tcpip,
direct-streamlocal@openssh.comLocalForward ou
DynamicForward.forwarded-tcpip,
forwarded-streamlocal@openssh.comRemoteForward.sessiontun-connectionTunnelForward.x11-connectionNotez que dans tous les cas ci-dessus, fermer une session inactive ne garantit pas que toutes les ressources associées à la session seront supprimées ; par exemple, les processus de l’interpréteur de commande ou les clients X11 liés à la session pourront continuer leur exécution.
En outre, fermer une session ou un canal inactif ne ferme pas nécessairement la connexion SSH et n’empêche pas un client de demander l’ouverture d’un autre canal du même type. En particulier, fermer une session de redirection inactive n’empêche pas la création subséquente d’une autre redirection identique.
Par défaut, aucun canal de quelque type que ce soit ne sera fermé pour inactivité.
ChrootDirectoryChrootDirectory acceptent les symboles
décrits dans la section
SYMBOLES.
Le répertoire ChrootDirectory
doit contenir les répertoires et fichiers nécessaires pour
prendre en charge la session de l’utilisateur. Pour une session
interactive, cela comprend au moins un interpréteur de commande,
en général sh(1) et des nœuds
/dev de base tels que les dispositifs
null(4), zero(4),
stdin(4), stdout(4),
stderr(4) et tty(4). Pour les
sessions de transfert de fichiers utilisant SFTP, aucune configuration
additionnelle de l’environnement n’est nécessaire
si l’on utilise le serveur sftp interne, bien que sur certains
systèmes d’exploitation, les sessions qui utilisent la
journalisation puissent nécessiter
/dev/log à l’intérieur du
répertoire de chroot (voir sftp-server(8) pour
les détails).
Pour la sécurité, il est très important que l’arborescence du répertoire ne puisse pas être modifiée par d’autres processus sur le système (en particulier ceux qui se trouvent en dehors du « bac à sable »). Un mauvaise configuration peut induire des environnements non sécurisés que sshd(8) ne pourra pas détecter.
L’argument par défaut est
none, indiquant de ne pas passer en
chroot(2).
CiphersLes algorithmes de chiffrement pris en charge sont :
La liste par défaut est :
chacha20-poly1305@openssh.com, aes128-gcm@openssh.com,aes256-gcm@openssh.com, aes128-ctr,aes192-ctr,aes256-ctr
La liste des algorithmes de chiffrement disponibles peut aussi être obtenue en utilisant la commande « ssh -Q cipher ».
ClientAliveCountMaxTCPKeepAlive. Les messages de rappel au client
sont envoyés par le canal chiffré et ne sont donc pas
falsifiables. L’option « keepalive » de
TCP activée par TCPKeepAlive peut
être compromise. Le mécanisme de rappel au client
s’avère utile lorsque le client ou le serveur ont besoin
d’être informés quand une connexion ne répond
plus.
La valeur par défaut est 3. Si
ClientAliveInterval est défini
à 15 et si ClientAliveCountMax
conserve sa valeur par défaut de 3, les clients SSH qui ne
répondent pas seront déconnectés après
approximativement 45 secondes. Définir
ClientAliveCountMax à zéro
désactive la fermeture des connexions inactives.
ClientAliveIntervalCompressionyes,
delayed (un équivalent hérité
de yes) ou no. La valeur
par défaut est yes.DebianBanneryes.DenyGroupsDenyGroups, AllowGroups.
Voir la section MOTIFS dans ssh_config(5)
pour plus d’informations à propos des motifs. Cette option
peut apparaître plusieurs fois dans
sshd_config, chaque instance s’ajoutant
à la liste.
DenyUsersDenyUsers, AllowUsers.
Voir la section MOTIFS dans ssh_config(5)
pour plus d’informations à propos des motifs. Cette option
peut apparaître plusieurs fois dans
sshd_config, chaque instance s’ajoutant
à la liste.
DisableForwardingExposeAuthInfoSSH_USER_AUTH. La valeur par défaut est
no.FingerprintHashmd5 et
sha256. La valeur par défaut est
sha256.ForceCommandForceCommand en
ignorant toute commande fournie par le client et
~/.ssh/rc si présent. La commande est
invoquée en utilisant l’interpréteur de commande de
connexion de l’utilisateur avec l’option -c.
Cette option s’applique à l’exécution de
l’interpréteur de commande, de la commande ou du
sous-système. Elle s’avère particulièrement
utile dans un bloc Match. La commande initialement
fournie par le client est disponible dans la variable
d’environnement SSH_ORIGINAL_COMMAND.
Spécifier la commande internal-sftp forcera
l’utilisation d’un serveur SFTP interne au processus qui ne
nécessite pas de fichier support lorsqu’il est
utilisé avec ChrootDirectory. La valeur par
défaut est none.GatewayPortsGatewayPorts peut être utilisé pour
indiquer que sshd(8) doit permettre le branchement des
redirections de port distant à des adresses autres que loopback, et
par conséquent autoriser les autres machines à se connecter.
L’argument peut être no pour forcer
les redirections de port distant à n’être disponibles
que pour l’hôte local, yes pour
forcer les redirections de port distant à se lier à
l’adresse avec caractères génériques ou
clientspecified pour permettre au client de
sélectionner l’adresse à laquelle la redirection est
liée. La valeur par défaut est
no.GSSAPIAuthenticationno.GSSAPICleanupCredentialsyes.GSSAPIKeyExchangeno.GSSAPIStrictAcceptorCheckyes, le client doit
s’authentifier auprès du service
« host » avec le nom d’hôte
actuel. Si elle est définie à no, le
client peut s’authentifier auprès de n'importe quelle
clé de service stockée dans le magasin par défaut de
la machine. Cette possibilité facilite les opérations sur
les machines multi-réseaux. La valeur par défaut est
yes.GSSAPIStoreCredentialsOnRekeyno.
Pour que cette option fonctionne, l’option
GSSAPIKeyExchange doit être
activée au niveau du serveur et aussi utilisée par le
client.
GSSAPIKexAlgorithmsgss-gex-sha1-, gss-group1-sha1-, gss-group14-sha1-, gss-group14-sha256-, gss-group16-sha512-, gss-nistp256-sha256-, gss-curve25519-sha256-
La liste par défaut est « gss-group14-sha256-,gss-group16-sha512-,gss-nistp256-sha256-,gss-curve25519-sha256-,gss-gex-sha1-,gss-group14-sha1- ». Cette option ne s’applique qu’aux connexions qui utilisent GSSAPI.
HostbasedAcceptedAlgorithmsssh-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 être obtenue en utilisant la commande « ssh -Q HostbasedAcceptedAlgorithms ». Cette option se nommait par le passé HostbasedAcceptedKeyTypes.
HostbasedAuthenticationno.HostbasedUsesNameFromPacketOnlyyes, sshd(8) va utiliser le nom
fourni par le client plutôt que de tenter lui-même de
résoudre le nom à partir de la connexion TCP. La valeur par
défaut est no.HostCertificateHostKey. Par défaut,
sshd(8) ne charge aucun certificat.HostKeyNotez que sshd(8) refusera d'utiliser un
fichier accessible au groupe ou aux autres et que l’option
HostKeyAlgorithms restreint la liste des
clés réellement utilisées par
sshd(8).
Il est possible d’avoir plusieurs fichiers de clé d’hôte. Il est aussi possible de spécifier des fichiers de clé d’hôte publique à la place. Dans ce cas, les opérations sur la clé privée seront déléguées à un agent ssh-agent(1).
HostKeyAgentSSH_AUTH_SOCK.HostKeyAlgorithmsssh-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 être obtenue en utilisant la commande « ssh -Q HostKeyAlgorithms ».
IgnoreRhostsLes valeurs acceptées sont yes
(la valeur par défaut) pour ignorer tous les fichiers propres aux
utilisateurs, shosts-only pour autoriser
l’utilisation de .shosts mais ignorer
.rhosts ou no pour
autoriser l’utilisation de .shosts et
rhosts.
IgnoreUserKnownHostsno.IncludeInclude peut être placée dans un
bloc Match afin d’effectuer une inclusion
conditionnelle.IPQoSaf11, 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 numérique ou
none pour utiliser la valeur par défaut du
système d’exploitation. Cette option peut prendre un ou deux
arguments séparés par un blanc. Si un seul argument est
spécifié, il est utilisé en tant que classe du paquet
sans condition. Si deux arguments sont spécifiés, le premier
est automatiquement sélectionné pour les sessions
interactives et le second pour les sessions non interactives. La valeur
par défaut est lowdelay pour les sessions
interactives et throughput pour les sessions non
interactives.KbdInteractiveAuthenticationyes. L’argument doit être
yes ou no.
ChallengeResponseAuthentication est un alias
obsolète de cette option.KerberosAuthenticationno.KerberosGetAFSTokenno.KerberosOrLocalPasswdyes.KerberosTicketCleanupyes.KexAlgorithmsSi la liste spécifiée commence par un caractère « + », les algorithmes qu’elle contient seront ajoutés à la liste par défaut au lieu de la remplacer. Si la liste spécifiée commence par un caractère « - », les algorithmes qu’elle contient (pouvant contenir des caractères génériques) seront supprimés de la liste par défaut au lieu de la remplacer. Si la liste spécifiée commence par un caret « ^ », les algorithmes qu’elle contient seront ajoutés au début de la liste par défaut.
Les algorithmes de chiffrement pris en charge sont :
La liste par défaut est :
mlkem768x25519-sha256, sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com, curve25519-sha256,curve25519-sha256@libssh.org, ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521
La liste des algorithmes d’échange de clés pris en charge peut aussi être obtenue en utilisant la commande « ssh -Q KexAlgorithms ».
ListenAddressListenAddress
nom_hôte|adresse
[rdomain domaine]ListenAddress
nom_hôte:port
[rdomain domaine]ListenAddress
adresse_IPv4:port
[rdomain domaine]ListenAddress
[nom_hôte|adresse]:port
[rdomain domaine]The optional rdomain qualifier
requests sshd(8) listen in an explicit routing domain.
If port is not specified, sshd will listen on the
address and all Port options specified. The
default is to listen on all local addresses on the current default
routing domain. Multiple ListenAddress options
are permitted.
On Linux, routing domains are implemented using Virtual Routing and Forwarding domains (VRFs); for more information, see ip-vrf(8).
LoginGraceTimeLogLevelLogVerboseLogLevel. An
override consists of one or more pattern lists that matches the source
file, function and line number to force detailed logging for. For example,
an override pattern of:
kex.c:*:1000,*:kex_exchange_identification():*,packet.c:*
activerait la journalisation
détaillée pour la ligne 1000 de
kex.c, tout le contenu de la fonction
kex_exchange_identification()
et tout le code du fichier packet.c. Cette
option est destinée au débogage et aucun outrepassement
n’est activé par défaut.
MACsLes algorithmes qui contiennent « -etm » calculent le MAC après chiffrement (encrypt-then-mac). Ils sont considérés comme plus sûrs et leur utilisation est recommandée. Les algorithmes MAC pris en charge sont :
La liste par défaut 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 être obtenue en utilisant la commande « ssh -Q mac ».
MatchMatch sont respectés, les
options des lignes suivantes outrepassent celles définies dans la
partie globale du fichier de configuration jusqu’à ce
qu’on atteigne une autre ligne Match ou la
fin du fichier. Si une option apparaît dans plusieurs blocs
Match dont les critères sont
respectés, seule la première instance de l’option
s’applique.
The arguments to Match are one or more
criteria-pattern pairs or one of the single token criteria:
All, which matches all criteria, or
Invalid-User, which matches when the requested
user-name does not match any known account. The available criteria are
User, Group,
Host, LocalAddress,
LocalPort, Version,
RDomain, and Address
(with RDomain representing the routing domain on
which the connection was received; see ip-vrf(8)).
Les motifs de correspondance peuvent se composer d’entrées simples ou de listes de motifs séparés par des virgules et peuvent utiliser les caractères génériques et les opérateurs de négation décrits dans la section MOTIFS de ssh_config(5).
Les motifs d’un critère
Address peuvent aussi contenir des groupes
d’adresses au format CIDR adresse/taille_de_masque comme
192.0.2.0/24 ou 2001:db8::/32. Notez que la taille de masque
spécifiée doit être cohérente avec
l’adresse ; spécifier une taille de masque trop
longue pour l’adresse ou une taille avec des bits définis
dans cette partie hôte de l’adresse est une erreur.
192.0.2.0/33 et 192.0.2.0/8, respectivement, sont des exemples de cette
erreur.
The Version keyword matches against
the version string of sshd(8), for example
“OpenSSH_10.0”.
Only a subset of keywords may be used on the lines following a
Match keyword. Available keywords are
AcceptEnv,
AllowAgentForwarding,
AllowGroups,
AllowStreamLocalForwarding,
AllowTcpForwarding,
AllowUsers,
AuthenticationMethods,
AuthorizedKeysCommand,
AuthorizedKeysCommandUser,
AuthorizedKeysFile,
AuthorizedPrincipalsCommand,
AuthorizedPrincipalsCommandUser,
AuthorizedPrincipalsFile,
Banner,
CASignatureAlgorithms,
ChannelTimeout,
ChrootDirectory,
ClientAliveCountMax,
ClientAliveInterval,
DenyGroups, DenyUsers,
DisableForwarding,
ExposeAuthInfo,
ForceCommand,
GatewayPorts,
GSSAPIAuthentication,
HostbasedAcceptedAlgorithms,
HostbasedAuthentication,
HostbasedUsesNameFromPacketOnly,
IgnoreRhosts, Include,
IPQoS,
KbdInteractiveAuthentication,
KerberosAuthentication,
LogLevel, MaxAuthTries,
MaxSessions,
PAMServiceName,
PasswordAuthentication,
PermitEmptyPasswords,
PermitListen,
PermitOpen,
PermitRootLogin,
PermitTTY, PermitTunnel,
PermitUserRC,
PubkeyAcceptedAlgorithms,
PubkeyAuthentication,
PubkeyAuthOptions,
RefuseConnection,
RekeyLimit, RevokedKeys,
SetEnv,
StreamLocalBindMask,
StreamLocalBindUnlink,
TrustedUserCAKeys,
UnusedConnectionTimeout,
X11DisplayOffset,
X11Forwarding and
X11UseLocalhost.
MaxAuthTriesMaxSessionsMaxSessions à 1 désactive
à proprement parler le multiplexage de sessions, alors que le
définir à 0 interdit toute session
d’interpréteur de commande, de connexion ou de
sous-système tout en permettant la redirection. La valeur par
défaut est 10.MaxStartupsLoginGraceTime expire pour une connexion.
La valeur par défaut est 10:30:100.
Une autre possibilité consiste à activer le rejet prématuré aléatoire en spécifiant un triplet « début:taux:total » (par exemple, « 10:30:60 »). sshd(8) va alors rejeter les tentatives de connexion avec une probabilité de « taux/100 » (30 %) s'il y a « début » (10) connexions non authentifiées en cours. La probabilité augmente linéairement et toutes les tentatives de connexion seront rejetées si le nombre de connexions non authentifiées atteint « total » (60).
ModuliFilePAMServiceNameUsePAM est activé. La valeur par
défaut est sshd.PasswordAuthenticationyes.PermitEmptyPasswordsno.PermitListenPermitListen
portPermitListen
hôte:portPlusieurs permissions peuvent être
spécifiées en les séparant par des blancs. Si
l’argument est any, toutes les
restrictions sont supprimées et toutes les requêtes
d’écoute sont autorisées. Si l’argument est
none, toutes les requêtes
d’écoute sont interdites. Le nom d’hôte peut
contenir des caractères génériques comme
décrit dans la section MOTIFS de ssh_config(5).
Si le numéro de port est remplacé par le caractère
générique « * », tous les
ports sont autorisés. Par défaut, toutes les
requêtes d’écoute de redirection de port sont
autorisées. Notez que l’option
GatewayPorts peut par la suite restreindre les
adresses qui peuvent être écoutées. Notez aussi que
ssh(1) demandera
« localhost » comme hôte
d’écoute si aucun hôte d’écoute
n’a été spécifiquement demandé, et
que ce nom est traité différemment des adresses
d'hôte local explicites « 127.0.0.1 »
et « ::1 ».
PermitOpenPermitOpen
hôte:portPermitOpen
adr_IPv4:portPermitOpen
[adr_IPv6]:portPlusieurs redirections peuvent être
spécifiées en les séparant par des blancs. Si
l’argument est any, toutes les
restrictions sont supprimées et toutes les requêtes de
redirection sont autorisées. Si l’argument est
none, toutes les requêtes de redirection
sont interdites. Si l’hôte ou le numéro de port est
remplacé par le caractère générique
« * », tous les hôtes ou ports,
respectivement, sont autorisés. Sinon, aucune correspondance de
motif ou de recherche d’adresse n’est effectuée
pour les noms fournis. Par défaut, toutes les requêtes de
redirection de port sont autorisées.
PermitRootLoginyes,
prohibit-password,
forced-commands-only ou
no. La valeur par défaut est
prohibit-password..
Si cette option est définie à
prohibit-password (ou son alias obsolète
without-password), l'authentification par mot de
passe et interaction au clavier est désactivée pour
l’utilisateur root.
Si cette option est définie à
forced-commands-only, les connexions de
l’utilisateur root sont autorisées avec une
authentification par clé publique, mais seulement si l'option
command a été
spécifiée (ce qui peut être utile pour effectuer
des sauvegardes à distance même si les connexions de
l’utilisateur root sont normalement interdites). Toutes les
autres méthodes d'authentification sont désactivées
pour l’utilisateur root.
Si cette option est définie à
no, l’utilisateur root n'est pas
autorisé à se connecter.
PermitTTYyes.PermitTunnelyes,
point-to-point (couche 3),
ethernet (couche 2) ou
no. Spécifier yes
revient à autoriser point-to-point et
ethernet. La valeur par défaut est
no.
Indépendamment de cette définition, les permissions du dispositif tun(4) sélectionné doivent accorder l’autorisation d’accès à l’utilisateur.
PermitUserEnvironmentenvironment= de
~/.ssh/authorized_keys et le fichier
~/.ssh/environment seront traités par
sshd(8). L’argument doit être
yes, no ou une liste de
motifs indiquant les noms de variable d’environnement à
accepter (par exemple « LANG,LC_* »). La
valeur par défaut est no. Activer le
traitement de l’environnement peut permettre aux utilisateurs de
court-circuiter les restrictions d’accès dans certaines
configurations utilisant des mécanismes comme
LD_PRELOAD.PermitUserRCyes.PerSourceMaxStartupsMaxStartups, la valeur la plus basse des deux
étant retenue. La valeur par défaut est
no.PerSourceNetBlockSize32:128, ce qui signifie que
chaque adresse est considérée individuellement.PerSourcePenaltiesPerSourceNetBlockSize) feront
l’objet d’un refus de connexion pendant un certain temps.
Une pénalité n’affecte pas les connexions simultanées en cours, mais plusieurs pénalités pour la même source et des connexions simultanées vont s’accumuler jusqu’à un maximum. Inversement, les pénalités ne sont appliquées qu’une fois un certain seuil de temps accumulé.
Penalties are enabled by default with the default settings
listed below but may disabled using the no
keyword. The defaults may be overridden by specifying one or more of the
keywords below, separated by whitespace. All keywords accept arguments,
e.g. "crash:2m".
crash:duréeauthfail:duréerefuseconnection:durationRefuseConnection
option (default: 10s).noauth:duréegrace-exceeded:duréeLoginGraceTime (default: 10s).max:duréemin:duréemax-sources4:nombre,
max-sources6:nombreoverflow:modemax-sources4 ou
max-sources6 sont dépassés. Il y
a deux modes opératoires :
deny-all qui rejette toutes les connexions
entrantes autres que celles exemptées à l’aide de
PerSourcePenaltyExemptList
jusqu’à ce qu’une pénalité arrive
à expiration, et permissive qui
autorise de nouvelles connexions en supprimant les
pénalités existantes plus tôt (le mode par
défaut est permissive). Notez que les
pénalités client inférieures au seuil
min sont comptabilisées dans le nombre
total de pénalités suivies. Les adresses IPv4 et IPv6
sont suivies séparément, si bien qu’un
dépassement dans l’un n’affectera pas
l’autre.overflow6:modePerSourcePenaltyExemptListPidFilenone pour ne pas écrire ce fichier. La
valeur par défaut est /run/sshd.pid.PortListenAddress.PrintLastLogyes.PrintMotdyes.PubkeyAcceptedAlgorithmsssh-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 être obtenue en utilisant la commande « ssh -Q PubkeyAcceptedAlgorithms ».
PubkeyAuthOptionsnone (la valeur par
défaut indiquant qu’aucune autre option n’est
activée), touch-required et
verify-required.
L’option touch-required fait
que l’authentification par clé publique utilise un
algorithme d’authentificateur FIDO (c’est-à-dire
ecdsa-sk ou ed25519-sk)
de façon à toujours imposer la signature pour attester
qu’un utilisateur physiquement présent a confirmé
explicitement l’authentification (en général en
touchant l’authentificateur). Par défaut,
sshd(8) impose la présence de
l’utilisateur, sauf outrepassement à l’aide
d’une option authorized_keys. L’option
touch-required désactive cet
outrepassement.
L’option verify-required impose
qu’une signature de clé FIDO atteste que
l’utilisateur a été vérifié, par
exemple à l’aide d’un code PIN.
Les mots-clés touch-required ou
verify-required n’ont aucun effet sur les
autres types d’authentification par clé publique
non-FIDO.
PubkeyAuthenticationyes.RefuseConnectionrefuseconnection
penalty may be recorded against the source of the connection if
PerSourcePenalties are enabled. This option is
only really useful in a Match block.RekeyLimitRekeyLimit est
default none, ce qui signifie que la
renégociation de clé est effectuée après que
la quantité de données par défaut de
l’algorithme de chiffrement a été envoyée ou
reçue, et qu’aucune renégociation de clé
basée sur la durée n’est effectuée.RequiredRSASize1024 bits. Notez que la valeur
spécifiée doit être supérieure ou égale
à la valeur par défaut.RevokedKeysnone si on ne l’utilise pas. Les
clés listées dans ce fichier seront refusées pour
l’authentification par clé publique. Notez que si ce fichier
n’est pas accessible en lecture, l’authentification par
clé publique sera refusée pour tous les utilisateurs. Les
clés peuvent être spécifiées à
l’aide d’un fichier texte avec une clé par ligne, ou
sous la forme d’une liste de révocations de clé
OpenSSH (KRL) telle que générée par
ssh-keygen(1). Pour plus d’informations à
propos des KRL, voir la section LISTES DE RÉVOCATIONS DE CLÉ
de ssh-keygen(1).SecurityKeyProviderSetEnvSetEnv outrepassent l’environnement par
défaut et toute variable spécifiée par
l’utilisateur à l’aide de
AcceptEnv ou
PermitUserEnvironment.SshdAuthPathsshd-auth binary
that is invoked to complete user authentication. The default is
/usr/lib/openssh/sshd-auth. This option is
intended for use by tests.SshdSessionPathsshd-session invoqué pour gérer
chaque connexion. Le chemin par défaut est
/usr/lib/openssh/sshd-session. Cette option est
destinée à être utilisée dans les tests.StreamLocalBindMaskLa valeur par défaut est 0177 qui crée un fichier de socket de domaine Unix qui n’est accessible en lecture et écriture que pour son propriétaire. Notez que tous les systèmes d’exploitation ne tiennent pas compte du mode de fichier pour les fichiers de socket de domaine Unix.
StreamLocalBindUnlinkStreamLocalBindUnlink n’est pas
activée, sshd ne pourra pas rediriger le
port vers le fichier de socket de domaine Unix. Cette option n’est
utilisée que pour la redirection de port vers un fichier de socket
de domaine Unix.
L’argument doit être yes
ou no. La valeur par défaut est
no.
StrictModesyes. Notez que cette option ne
s’applique pas à ChrootDirectory
dont les permissions et propriétaire sont systématiquement
vérifiés.SubsystemLa commande sftp-server
implémente le sous-système de transfert de fichiers
SFTP.
La commande internal-sftp, quant
à elle, implémente un serveur SFTP interne au processus,
ce qui peut simplifier les configurations utilisant
ChrootDirectory pour forcer une racine de
système de fichiers différente sur les clients. Cette
commande accepte les même arguments que
sftp-server, et même si elle est interne
au processus, les options telles que LogLevel ou
SyslogFacility ne s’appliquent pas
à elle et doivent être définies explicitement
à l’aide d’arguments sur la ligne de commande.
Par défaut, aucun sous-système n’est défini.
SyslogFacilityTCPKeepAliveLa valeur par défaut est yes
(envoyer les messages de rappel TCP), et le serveur saura alors si le
réseau tombe ou si la machine du client se plante, ce qui permet
d’éviter le blocage infini de sessions.
Pour désactiver l’envoi de messages de rappel
TCP, cette option doit être définie à
no.
Cette option avait pour nom par le passé
KeepAlive.
TrustedUserCAKeysnone pour ne pas utiliser un tel fichier. Chaque
ligne du fichier contient une clé ; les lignes vides et les
commentaires commençant par « # » sont
autorisés. Si un certificat est présenté pour une
authentification et si la clé de la CA qui l’a signé
est enregistrée dans ce fichier, il pourra être
utilisé pour l’authentification pour tout utilisateur
faisant partie de la liste de « principals »
du certificat. Notez que les certificats qui ne possèdent pas de
liste de « principals » ne seront pas
acceptés pour une authentification utilisant
TrustedUserCAKeys (NDT : un
« principal » est une chaîne arbitraire
définie au niveau du serveur pour un utilisateur et devant
être présente dans le certificat du client pour que ce
dernier puisse se connecter). Pour plus de détails à propos
des certificats, voir la section CERTIFICATS de
ssh-keygen(1).UnusedConnectionTimeout-R de
ssh(1) ne sont pas considérés comme des
canaux ouverts et n’empêchent pas le délai
d’arriver à expiration. La valeur du délai est
spécifiée en secondes ou peut utiliser toute unité
décrite dans la section
FORMATS DE TEMPS.
Notez que ce délai prend effet lorsque la connexion du client a terminé l’authentification de l’utilisateur, mais avant que le client ait l’opportunité d’ouvrir un canal. Il faut être prudent lorsqu’on utilise des valeurs de délai courtes, car elles ne donneront peut-être pas assez de temps au client pour demander l’ouverture de ses canaux avant la fermeture de la connexion.
La valeur par défaut est none
et indique que les connexions sans canaux ouverts n’auront pas de
délai d’expiration. Cette option s’avère
utile en combinaison avec l’option
ChannelTimeout.
UseDNSSi cette option est définie à
no (la valeur par défaut), les noms
d’hôte ne pourront pas être utilisés dans
les directives from,
sshd_config, Match et
Host de
~/.ssh/authorized_keys, mais seulement leurs
adresses IP.
UsePAMyes, l’authentification PAM sera
activée en utilisant
KbdInteractiveAuthentication et
PasswordAuthentication en plus du traitement du
module PAM de compte et de session pour tous les types
d’authentification.
Étant donné que l’authentification PAM
par interaction au clavier est en général
équivalente à l’authentification par mot de passe,
vous devez désactiver
PasswordAuthentication ou
KbdInteractiveAuthentication.
Si UsePAM est activée, vous ne
pourrez pas exécuter sshd(8) en tant
qu’utilisateur autre que le superutilisateur. La valeur par
défaut est no.
VersionAddendumnone.X11DisplayOffsetX11Forwardingyes ou no. La valeur par
défaut est no.
Lorsque la redirection de X11 est activée, le serveur
et les affichages du client peuvent être davantage exposés
si le « display » mandataire de
sshd(8) est configuré pour écouter
l'adresse générique (voir
X11UseLocalhost), bien que cela ne soit pas le
comportement par défaut. De plus, l’usurpation
d’authentification ainsi que la vérification et la
substitution des données d’authentification se produisent
côté client. Le risque de sécurité induit
par l’utilisation de la redirection de X11 est que le serveur
d’affichage X11 du client soit exposé à une attaque
lorsque le client SSH demande la redirection (voir les avertissements
à propos de ForwardX11 dans
ssh_config(5)). Un administrateur système peut
vouloir protéger les clients qui pourraient s'exposer à
des attaques en demandant involontairement une redirection de X11, ce
qui pourrait justifier de définir cette option à
no.
Notez que la désactivation des redirections de X11 n'empêche pas les utilisateurs de rediriger le trafic X11, puisqu’ils pourront toujours installer leurs propres redirecteurs.
X11UseLocalhostDISPLAY à
localhost, ce qui empêche des machines
distantes de se connecter au « display »
mandataire. Néanmoins, certains clients X11 anciens pourraient ne
pas fonctionner avec cette configuration. Il est possible de
définir X11UseLocalhost à
no pour spécifier que le serveur de
redirection doit être lié à l'adresse
générique. L'argument doit être
yes ou no. La valeur par
défaut est yes.XAuthLocationnone pour ne pas en
utiliser. La valeur par défaut est
/usr/bin/xauth.Les arguments de la ligne de commande et les options du fichier de configuration de sshd(8) qui spécifient des temps peuvent être exprimés en utilisant une séquence de la forme : temps[qualificateur], où temps est une valeur entière positive et qualificateur une des unités suivantes :
Tous les membres de la séquence sont additionnés les uns aux autres pour obtenir la valeur totale de temps.
Exemples de format de temps :
Les arguments de certaines options peuvent utiliser des symboles qui sont développés à l’exécution :
AuthorizedKeysCommand accepte les symboles
%%, %C, %D, %f, %h, %k, %t, %U et %u.
AuthorizedKeysFile accepte les symboles
%%, %h, %U et %u.
AuthorizedPrincipalsCommand accepte les
symboles %%, %C, %D, %F, %f, %h, %i, %K, %k, %s, %T, %t, %U et %u.
AuthorizedPrincipalsFile accepte les
symboles %%, %h, %U et %u.
ChrootDirectory accepte les symboles %%,
%h, %U et %u.
OpenSSH est dérivé de la version originale et libre 1.2.12 de ssh par Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt et Dug Song ont corrigé de nombreux bogues, réintroduit de nouvelles fonctionnalités et créé OpenSSH. Markus Friedl a contribué à la prise en charge des versions 1.5 et 2.0 du protocole SSH. Niels Provos et Markus Friedl ont contribué à la prise en charge de la séparation des privilèges.
La traduction française de cette page de manuel a été créée par Laurent GAUTROT <l dot gautrot at free dot fr> et Lucien Gentis <lucien.gentis@waika9.com>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org
| February 15, 2025 | Debian |