Configuration du serveur OpenSSH pour Windows 10 1809 et Server 2019OpenSSH Server Configuration for Windows 10 1809 and Server 2019

Cette rubrique porte sur la configuration spécifique à Windows pour le serveur OpenSSH (sshd).This topic covers the Windows-specific configuration for OpenSSH Server (sshd).

OpenSSH gère la documentation détaillée des options de configuration en ligne sur OpenSSH.com, qui n’est pas dupliquée dans cet ensemble de documentation.OpenSSH maintains detailed documentation for configuration options online at OpenSSH.com, which is not duplicated in this documentation set.

Configuration du shell par défaut pour OpenSSH dans WindowsConfiguring the default shell for OpenSSH in Windows

L’interface shell par défaut offre une expérience utilisateur à toute personne se connectant au serveur à l’aide de SSH.The default command shell provides the experience a user sees when connecting to the server using SSH. Par défaut, le Windows initial est l’interface shell Windows (cmd.exe).The initial default Windows is the Windows Command shell (cmd.exe). Windows comprend également PowerShell et Bash. Les interfaces shell tierces sont également disponibles pour Windows et peuvent être configurées comme shell par défaut pour un serveur.Windows also includes PowerShell and Bash, and third party command shells are also available for Windows and may be configured as the default shell for a server.

Pour définir l’interface shell par défaut, vérifiez d’abord que le dossier d’installation de OpenSSH se trouve sur le chemin d’accès système.To set the default command shell, first confirm that the OpenSSH installation folder is on the system path. Pour Windows, le dossier d’installation par défaut est SystemDrive:WindowsDirectory\System32\openssh.For Windows, the default installation folder is SystemDrive:WindowsDirectory\System32\openssh. Les commandes suivantes affichent le paramètre du chemin d’accès actuel et y ajoutent le dossier d’installation de OpenSSH par défaut.The following commands shows the current path setting, and add the default OpenSSH installation folder to it.

Interface shellCommand shell Commande à utiliserCommand to use
CommandeCommand pathpath
PowerShellPowerShell $env:path$env:path

La configuration du shell ssh par défaut s’effectue dans le Registre Windows en ajoutant le chemin d’accès complet de l’exécutable du shell sur Computer\HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH dans la valeur de chaîne DefaultShell.Configuring the default ssh shell is done in the Windows registry by adding the full path to the shell executable to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH in the string value DefaultShell.

Par exemple, la commande PowerShell suivante définit le shell par défaut comme étant PowerShell. exe :As an example, the following Powershell command sets the default shell to be PowerShell.exe:

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force

Configurations de Windows dans sshd_configWindows Configurations in sshd_config

Dans Windows, sshd lit les données de configuration à partir de %programdata%\ssh\sshd_config par défaut. Un autre fichier de configuration peut être spécifié en lançant sshd. exe avec le paramètre -f.In Windows, sshd reads configuration data from %programdata%\ssh\sshd_config by default, or a different configuration file may be specified by launching sshd.exe with the -f parameter. En cas d’absence du fichier, sshd en génère un avec la configuration par défaut lorsque le service est démarré.If the file is absent, sshd generates one with the default configuration when the service is started.

Les éléments listés ci-dessous fournissent une configuration spécifique à Windows possible par le biais d’entrées dans sshd_config.The elements listed below provide Windows-specific configuration possible through entries in sshd_config. Il existe d’autres paramètres de configuration possibles qui ne sont pas répertoriés ici, car ils sont abordés en détail dans la documentation en ligne Win32 OpenSSH.There are other configuration settings possible in that are not listed here, as they are covered in detail in the online Win32 OpenSSH documentation.

AllowGroups, AllowUsers, DenyGroups, DenyUsersAllowGroups, AllowUsers, DenyGroups, DenyUsers

Le contrôle des utilisateurs et des groupes qui peuvent se connecter au serveur se fait à l’aide des directives AllowGroups, AllowUsers, DenyGroups et DenyUsers.Controlling which users and groups can connect to the server is done using the AllowGroups, AllowUsers, DenyGroups and DenyUsers directives. Les directives d’autorisation/de refus sont traitées dans l’ordre suivant : DenyUsers, AllowUsers, DenyGroups et AllowGroups.The allow/deny directives are processed in the following order: DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups. Tous les noms de compte doivent être indiqués en minuscules.All account names must be specified in lower case. Pour plus d’informations sur les modèles de caractères génériques, voir MODÈLES dans ssh_config.See PATTERNS in ssh_config for more information on patterns for wildcards.

Lorsque vous configurez des règles basées sur des utilisateurs ou des groupes avec un utilisateur ou un groupe de domaines, utilisez le format suivant : user?domain*.When configuring user/group based rules with a domain user or group, use the following format: user?domain*. Windows autorise l’utilisation de plusieurs formats afin d’indiquer les principes du domaine, mais beaucoup d’entre eux entrent en conflit avec les modèles Linux standard.Windows allows multiple of formats for specifying domain principals, but many conflict with standard Linux patterns. Pour cette raison, * est ajouté pour inclure les noms de domaine complets.For that reason, * is added to cover FQDNs. En outre, cette approche utilise « ? », au lieu de @, pour éviter les conflits avec le format username@host.Also, this approach uses "?", instead of @, to avoid conflicts with the username@host format.

Les utilisateurs de groupes de travail/groupes de travail et les comptes connectés à Internet sont toujours résolus avec leur nom de compte local (sans composant de domaine, comme pour les noms UNIX standard).Work group users/groups and internet-connected accounts are always resolved to their local account name (no domain part, similar to standard Unix names). Les utilisateurs et les groupes de domaine sont strictement résolus au format NameSamCompatible – domain_short_name\user_name.Domain users and groups are strictly resolved to NameSamCompatible format - domain_short_name\user_name. Toutes les règles de configuration basées sur les utilisateurs et les groupes doivent respecter ce format.All user/group based configuration rules need to adhere to this format.

Exemples pour les utilisateurs et les groupes de domaineExamples for domain users and groups

DenyUsers contoso\admin@192.168.2.23 : blocks contoso\admin from 192.168.2.23
DenyUsers contoso\* : blocks all users from contoso domain
AllowGroups contoso\sshusers : only allow users from contoso\sshusers group

Exemples pour les utilisateurs et les groupes locauxExamples for local users and groups

AllowUsers localuser@192.168.2.23
AllowGroups sshusers

AuthenticationMethodsAuthenticationMethods

Pour Windows OpenSSH, les seules méthodes d’authentification disponibles sont « mot de passe » et « clé publique ».For Windows OpenSSH, the only available authentication methods are "password" and "publickey".

AuthorizedKeysFileAuthorizedKeysFile

La valeur par défaut est « .ssh/authorized_keys .ssh/authorized_keys2 ».The default is ".ssh/authorized_keys .ssh/authorized_keys2". Si le chemin d’accès n’est pas absolu, il est défini par rapport au répertoire de base de l’utilisateur (ou au chemin d’accès de l’image de profil).If the path is not absolute, it is taken relative to user's home directory (or profile image path). Exemple :Ex. c:\users\user.c:\users\user. Notez que si l’utilisateur appartient au groupe d’administrateurs, % ProgramData%/SSH/administrators_authorized_keys est utilisé à la place.Note that if the user belongs to the administrator group, %programdata%/ssh/administrators_authorized_keys is used instead.

ChrootDirectory (prise en charge ajoutée dans v7.7.0.0)ChrootDirectory (Support added in v7.7.0.0)

Cette directive est uniquement prise en charge avec les sessions SFTP.This directive is only supported with sftp sessions. Une session à distance dans cmd.exe ne respecterait pas cela.A remote session into cmd.exe wouldn't honor this. Pour configurer un serveur chroot avec SFTP uniquement, définissez ForceCommand SFTP interne.To setup a sftp-only chroot server, set ForceCommand to internal-sftp. Vous pouvez également configurer SCP avec chroot, en implémentant un shell personnalisé qui autorise uniquement SCP et SFTP.You may also set up scp with chroot, by implementing a custom shell that would only allow scp and sftp.

HostKeyHostKey

Par défaut, il s’agit de %programdata%/ssh/ssh_host_ecdsa_key, %programdata%/ssh/ssh_host_ed25519_key, %programdata%/ssh/ssh_host_dsa_key et de %programdata%/ssh/ssh_host_rsa_key.The defaults are %programdata%/ssh/ssh_host_ecdsa_key, %programdata%/ssh/ssh_host_ed25519_key, %programdata%/ssh/ssh_host_dsa_key, and %programdata%/ssh/ssh_host_rsa_key. Si les valeurs par défaut ne sont pas présentes, sshd les génère automatiquement au démarrage du service.If the defaults are not present, sshd automatically generates these on a service start.

Faire correspondreMatch

Notez les règles de modèle dans cette section.Note that pattern rules in this section. Les noms d’utilisateur et de groupe doivent être en minuscules.User and group names should be in lower case.

PermitRootLoginPermitRootLogin

Non applicable dans Windows.Not applicable in Windows. Pour empêcher la connexion de l’administrateur, utilisez les administrateurs avec la directive DenyGroups.To prevent administrator login, use Administrators with DenyGroups directive.

SyslogFacilitySyslogFacility

Si vous avez besoin d’une journalisation basée sur des fichiers, utilisez LOCAL0.If you need file based logging, use LOCAL0. Les journaux sont générés sous %programdata%\ssh\logs.Logs are generated under %programdata%\ssh\logs. Pour toute autre valeur, y compris la valeur par défaut, AUTH dirige la journalisation vers ETW.For any other value, including the default value, AUTH directs logging to ETW. Pour plus d’informations, consultez les fonctionnalités de journalisation dans Windows.For more info, see Logging Facilities in Windows.

Non prise en chargeNot supported

Les options de configuration suivantes ne sont pas disponibles dans la version de OpenSSH fournie avec Windows Server 2019 et Windows 10 1809 :The following configuration options are not available in the OpenSSH version that ships in Windows Server 2019 and Windows 10 1809:

  • AcceptEnvAcceptEnv
  • AllowStreamLocalForwardingAllowStreamLocalForwarding
  • AuthorizedKeysCommandAuthorizedKeysCommand
  • AuthorizedKeysCommandUserAuthorizedKeysCommandUser
  • AuthorizedPrincipalsCommandAuthorizedPrincipalsCommand
  • AuthorizedPrincipalsCommandUserAuthorizedPrincipalsCommandUser
  • compression ;Compression
  • ExposeAuthInfoExposeAuthInfo
  • GSSAPIAuthenticationGSSAPIAuthentication
  • GSSAPICleanupCredentialsGSSAPICleanupCredentials
  • GSSAPIStrictAcceptorCheckGSSAPIStrictAcceptorCheck
  • HostbasedAcceptedKeyTypesHostbasedAcceptedKeyTypes
  • HostbasedAuthenticationHostbasedAuthentication
  • HostbasedUsesNameFromPacketOnlyHostbasedUsesNameFromPacketOnly
  • IgnoreRhostsIgnoreRhosts
  • IgnoreUserKnownHostsIgnoreUserKnownHosts
  • KbdInteractiveAuthenticationKbdInteractiveAuthentication
  • KerberosAuthenticationKerberosAuthentication
  • KerberosGetAFSTokenKerberosGetAFSToken
  • KerberosOrLocalPasswdKerberosOrLocalPasswd
  • KerberosTicketCleanupKerberosTicketCleanup
  • PermitTunnelPermitTunnel
  • PermitUserEnvironmentPermitUserEnvironment
  • PermitUserRCPermitUserRC
  • PidFilePidFile
  • PrintLastLogPrintLastLog
  • RDomainRDomain
  • StreamLocalBindMaskStreamLocalBindMask
  • StreamLocalBindUnlinkStreamLocalBindUnlink
  • StrictModesStrictModes
  • X11DisplayOffsetX11DisplayOffset
  • X11ForwardingX11Forwarding
  • X11UseLocalhostX11UseLocalhost
  • XAuthLocationXAuthLocation