Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt de Windows-specifieke configuratie voor OpenSSH-server (sshd) beschreven.
OpenSSH onderhoudt gedetailleerde documentatie voor configuratieopties online op OpenSSH.com, die niet wordt gedupliceerd in deze documentatieset.
OpenSSH-configuratiebestanden
OpenSSH heeft configuratiebestanden voor zowel server- als clientinstellingen. OpenSSH is opensource en is toegevoegd aan Windows Server- en Windows Client-besturingssystemen, te beginnen met Windows Server 2019 en Windows 10 (build 1809). Als gevolg hiervan wordt opensource-documentatie voor OpenSSH-configuratiebestanden hier niet herhaald. Clientconfiguratiebestanden en zijn te vinden op de ssh_config handmatige pagina en voor OpenSSH Server-configuratiebestanden vindt u op de sshd_config handmatige pagina.
Open SSH Server (sshd) leest standaard configuratiegegevens uit %programdata%\ssh\sshd_config , of een ander configuratiebestand kan worden opgegeven door te starten sshd.exe
met de -f
parameter. Als het bestand afwezig is, genereert sshd er een met de standaardconfiguratie wanneer de service wordt gestart.
In Windows leest de OpenSSH-client (ssh) configuratiegegevens uit een configuratiebestand in de volgende volgorde:
- Door
ssh.exe
te starten met de-F
parameter, geeft u een pad naar een configuratiebestand en een invoernaam uit dat bestand op. - Het configuratiebestand van een gebruiker op %userprofile%\.ssh\config.
- Het systeembrede configuratiebestand op %programdata%\ssh\ssh_config.
De standaardshell configureren voor OpenSSH in Windows
De standaardopdrachtshell biedt de ervaring die een gebruiker ziet bij het maken van verbinding met de server met behulp van SSH. De eerste standaard windows is de Windows-opdrachtshell (cmd.exe). Windows bevat ook PowerShell en opdrachtshells van derden zijn ook beschikbaar voor Windows en kunnen worden geconfigureerd als de standaardshell voor een server.
Als u de standaardopdrachtshell wilt instellen, controleert u eerst of de OpenSSH-installatiemap zich op het systeempad bevindt. Voor Windows is de standaardinstallatiemap %systemdrive%\Windows\System32\openssh. Met de volgende opdracht wordt de huidige padinstelling weergegeven en wordt de standaardmap voor de OpenSSH-installatie toegevoegd.
Opdrachtshell | Opdracht om te gebruiken |
---|---|
Opdracht | path |
PowerShell | $env:path |
Het configureren van de standaard ssh-shell wordt doorgevoerd in het Windows-register door het volledige pad toe te voegen aan het uitvoerbare shellbestand in de tekstwaarde HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH
.
Met de volgende PowerShell-opdracht met verhoogde bevoegdheid wordt de standaardshell powershell.exe
ingesteld op OpenSSH-server (het instellen van dit pad is niet van toepassing op OpenSSH-client):
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force
Windows-configuraties in sshd_config
In Windows leest sshd standaard configuratiegegevens uit %programdata%\ssh\sshd_config of kan een ander configuratiebestand worden opgegeven door de sshd.exe
parameter te starten-f
.
Als het bestand afwezig is, genereert sshd er een met de standaardconfiguratie wanneer de service wordt gestart.
De volgende elementen bieden windows-specifieke configuratie mogelijk via vermeldingen in sshd_config. Er zijn andere configuratie-instellingen die hier niet worden vermeld, omdat deze in detail worden behandeld in de online Win32 OpenSSH-documentatie.
Aanbeveling
De OpenSSH-server (sshd) leest het configuratiebestand wanneer de service wordt gestart. Voor wijzigingen in het configuratiebestand moet de service opnieuw worden opgestart.
AllowGroups, AllowUsers, DenyGroups, DenyUsers
Bepalen welke gebruikers en groepen verbinding kunnen maken met de server wordt uitgevoerd met behulp van de instructies AllowGroups, AllowUsers, DenyGroups en DenyUsers . De richtlijnen voor toestaan/weigeren worden verwerkt in de volgende volgorde: DenyUsers, AllowUsers, DenyGroups en tot slot AllowGroups. Alle accountnamen moeten in kleine letters worden opgegeven. Zie de sshd_config OpenBSD handmatige pagina voor meer informatie over PATRONEN en jokertekens in de ssh_config.
Gebruik de volgende indeling bij het configureren van op gebruikers/groepen gebaseerde regels met een domeingebruiker of -groep: user?domain*
Windows staat meerdere indelingen toe voor het opgeven van domein-principals, maar kan conflicteren met standaard Linux-patronen.
Om die reden wordt *
toegevoegd om FQDN's te dekken.
Deze benadering gebruikt ?
ook , in plaats van @
, om conflicten met de username@host-indeling te voorkomen.
Werkgroepgebruikers/groepen en accounts met internetverbinding worden altijd omgezet in hun lokale accountnaam (geen domeinonderdeel, vergelijkbaar met standaard Unix-namen). Domeingebruikers en -groepen worden strikt omgezet naar nameSamCompatible-indeling: domain_short_name\gebruikersnaam. Alle configuratieregels op basis van gebruikers/groepen moeten voldoen aan deze indeling.
In het volgende voorbeeld wordt contoso\admin van de host 192.168.2.23 geweigerd en worden alle gebruikers van het contoso-domein geblokkeerd. Het stelt ook gebruikers in staat die lid zijn van de groepen contoso\sshusers en contoso\serveroperators.
DenyUsers contoso\admin@192.168.2.23
DenyUsers contoso\*
AllowGroups contoso\sshusers contoso\serveroperators
In het volgende voorbeeld kan de gebruiker localusers aanmelden vanaf de host 192.168.2.23, en wordt het leden van de groep sshusers toegestaan in te loggen.
AllowUsers localuser@192.168.2.23
AllowGroups sshusers
Authenticatiemethoden
Voor Windows OpenSSH zijn password
de enige beschikbare verificatiemethoden en publickey
.
Belangrijk
Verificatie met een Microsoft Entra-account wordt momenteel niet ondersteund.
AuthorizedKeysFile
De standaardwaarde is .ssh/authorized_keys
. Als het pad niet absoluut is, wordt het gebruikt ten opzichte van de basismap van de gebruiker (of het pad naar de profielafbeelding), bijvoorbeeld C:\Users\username. Als de gebruiker deel uitmaakt van de beheerdersgroep, wordt in plaats daarvan%programdata%/ssh/administrators_authorized_keys gebruikt.
Aanbeveling
Het administrators_authorized_keys-bestand mag alleen machtigingsvermeldingen hebben voor het NT Authority\SYSTEM-account en de BEVEILIGINGSgroep BUILTIN\Administrators. Het NT Authority\SYSTEM-account moet volledig beheer krijgen. De beveiligingsgroep BUILTIN\Administrators is vereist voor beheerders om de geautoriseerde sleutels te beheren, en u kunt de vereiste toegang kiezen. Als u machtigingen wilt verlenen, kunt u een PowerShell-prompt met verhoogde bevoegdheid openen en de opdracht icacls.exe "C:\ProgramData\ssh\administrators_authorized_keys" /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"
uitvoeren.
ChrootDirectory (ondersteuning toegevoegd in v7.7.0.0)
Deze richtlijn wordt alleen ondersteund met sftp-sessies. Een externe sessie in cmd.exe
zou de ChrootDirectory
niet respecteren. Als u een sftp-only chroot-server wilt instellen, stelt u ForceCommand
in op internal-sftp. U kunt scp ook instellen met chroot door een aangepaste shell te implementeren die alleen scp en sftp toestaat.
GSSAPI-authenticatie
Het GSSAPIAuthentication
configuratieargument geeft aan of gebruikersverificatie op basis van GSSAPI is toegestaan. De standaardwaarde GSSAPIAuthentication
is nee.
GSSAPI-verificatie vereist ook het gebruik van de -K
switch die de hostnaam opgeeft wanneer u de OpenSSH-client gebruikt. U kunt ook een bijbehorende vermelding maken in de configuratie van de SSH-client. In Windows leest de OpenSSH-client standaard configuratiegegevens uit %userprofile%.ssh\config .
U ziet een voorbeeld van een GSSAPI OpenSSH-clientconfiguratie:
# Specify a set of configuration arguments for a host matching the pattern SERVER01.contoso.com
# Patterns are case sensitive
Host SERVER01.contoso.com
# Enables GSSAPI authentication
GSSAPIAuthentication yes
# Forward (delegate) credentials to the server.
GSSAPIDelegateCredentials yes
Belangrijk
GSSAPI is alleen beschikbaar vanaf Windows Server 2022, Windows 11 en Windows 10 xxxx.
HostKey
De standaardwaarden zijn:
#HostKey __PROGRAMDATA__/ssh/ssh_host_rsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_dsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_ecdsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_ed25519_key
Als de standaardinstellingen niet aanwezig zijn, genereert sshd deze automatisch op een servicestart.
Wedstrijd
Komt overeen met voorwaarden met behulp van een of meer criteria. Bij een overeenkomst worden de volgende configuratieargumenten toegepast. Overeenkomsten gebruiken de patroonregels die worden behandeld in de sectie AllowGroups, AllowUsers, DenyGroups, DenyUsers . Namen van gebruikers en groepen moeten in kleine letters worden weergegeven.
PermitRootLogin
Niet van toepassing in Windows. Gebruik beheerders met de instructie DenyGroups om te voorkomen dat beheerders zich aanmelden.
SyslogFacility
Als u logboekregistratie op basis van bestanden nodig hebt, gebruikt u LOCAL0. Logboeken worden gegenereerd onder %programdata%\ssh\logs. Voor elke andere waarde, inclusief de standaardwaarde, stuurt AUTH het loggen naar ETW. Zie Logging Facilities in Windows voor meer informatie.
Configuratieargumenten
Het volgende configuratieargument is beschikbaar vanaf Windows Server 2022, Windows 11 en Windows 10 xxxx:
- GSSAPI-authenticatie
De volgende configuratieargumenten zijn niet beschikbaar in de OpenSSH-versie die wordt geleverd in Windows Server en de Windows-client:
- AcceptEnv
- AllowStreamLocalForwarding
- AuthorizedKeysCommand
- AuthorizedKeysCommandUser
- AuthorizedPrincipalsCommand
- GeautoriseerdeCommandUserPrincipalen
- ExposeAuthInfo
- GSSAPICleanupCredentials
- GSSAPIStrictAcceptorCheck
- HostgebaseerdeToegestaneSleuteltypen
- Hostgebaseerde authenticatie
- HostgebaseerdeGebruiktNaamAlleenUitPakket
- IgnoreRhosts
- IgnoreUserKnownHosts
- KbdInteractieveAuthenticatie
- KerberosAuthentication
- KerberosGetAFSToken
- KerberosOrLocalPasswd
- KerberosTicketCleanup
- PermitTunnel
- StaGebruikersomgevingToe
- PermitUserRC
- PID-bestand
- PrintLastLog
- PrintMotd
- RDomain
- StreamLocalBindMask
- StreamLocalBindUnlink
- StrictModes
- X11DisplayOffset
- X11Forwarding
- X11UseLocalhost
- XAuthLocation