Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver den Windows-specifika konfigurationen för OpenSSH Server (sshd).
OpenSSH har detaljerad dokumentation för konfigurationsalternativ online på OpenSSH.com. Den här dokumentationen dupliceras inte i den här dokumentationsuppsättningen.
OpenSSH-konfigurationsfiler
OpenSSH har konfigurationsfiler för både server- och klientinställningar. OpenSSH är öppen källkod och lades till i Windows Server- och Windows-klientoperativsystem från och med Windows Server 2019 och Windows 10 (version 1809). Dokumentation med öppen källkod för OpenSSH-konfigurationsfiler upprepas inte här. Klientkonfigurationsfiler finns på ssh_config manuella sidan. OpenSSH-serverkonfigurationsfiler finns på sshd_config manuella sidan.
OpenSSH Server läser konfigurationsdata från %programdata%\ssh\sshd_config som standard. Du kan ange en annan konfigurationsfil genom att köra sshd.exe med parametern -f . Om filen saknas genererar sshd en med standardkonfigurationen när tjänsten startas.
I Windows läser OpenSSH-klienten (ssh) konfigurationsdata från en konfigurationsfil i följande ordning:
- Via ssh.exestartade med parametern-F, med en sökväg till en konfigurationsfil och ett namn på ett inlägg från den filen angivet.
- Via en användares konfigurationsfil på %userprofile%\.ssh\config.
- Via den systemomfattande konfigurationsfilen på %programdata%\ssh\ssh_config.
Konfigurera standardgränssnittet för OpenSSH i Windows
Standardkommandogränssnittet ger den upplevelse som en användare ser när de ansluter till servern med hjälp av SSH. Den första standardinställningen i Windows är Windows-kommandotolken (cmd.exe). Windows innehåller även PowerShell och andra kommandogränssnitt än Microsoft är också tillgängliga för Windows och kan konfigureras som standardgränssnitt för en server.
Om du vill ange standardkommandogränssnittet kontrollerar du först att installationsmappen OpenSSH finns på systemsökvägen.
För Windows är %systemdrive%\Windows\System32\opensshstandardinstallationsmappen .
Följande kommando visar den aktuella sökvägsinställningen och lägger till standardmappen för OpenSSH-installation i den.
| Kommandogränssnitt | Kommando som ska användas | 
|---|---|
| Command | path | 
| PowerShell | $env:path | 
Du kan konfigurera standard-ssh-gränssnittet i Windows-registret genom att lägga till den fullständiga sökvägen till det körbara HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH gränssnittet i strängvärdet DefaultShell.
I följande exempel förhöjda PowerShell-kommando anges standardgränssnittet som powershell.exe för OpenSSH Server. (Inställningen av den här sökvägen gäller inte för OpenSSH-klienten.)
$NewItemPropertyParams = @{
    Path         = "HKLM:\SOFTWARE\OpenSSH"
    Name         = "DefaultShell"
    Value        = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
    PropertyType = "String"
    Force        = $true
}
New-ItemProperty @NewItemPropertyParams
Windows-konfigurationer i sshd_config
I Windows läser sshd konfigurationsdata från %programdata%\ssh\sshd_config som standard. Du kan ange en annan konfigurationsfil genom att köra sshd.exe med parametern -f .
Om filen saknas genererar sshd en med standardkonfigurationen när tjänsten startas.
I följande avsnitt beskrivs Windows-specifika konfigurationsinställningar som är möjliga via poster i sshd_config. Det finns andra möjliga konfigurationsinställningar som inte visas här. De beskrivs i detalj i Win32 OpenSSH-dokumentationen.
Tip
OpenSSH Server (sshd) läser konfigurationsfilen när tjänsten startar. Alla ändringar i konfigurationsfilen kräver att tjänsten startas om.
TillåtGrupper, TillåtAnvändare, NekaGrupper, NekaAnvändare
Du kan styra vilka användare och grupper som kan ansluta till servern med hjälp av direktiven AllowGroups, AllowUsers, DenyGroupsoch DenyUsers .
Direktiven om att tillåta och neka bearbetas i följande ordning: DenyUsers, AllowUsers, DenyGroupsoch slutligen AllowGroups.
Alla kontonamn måste anges i gemener.
Mer information om mönster och jokertecken i ssh_config finns på den manuella sidan sshd_config OpenBSD.
När du konfigurerar användar-/gruppbaserade regler med en domänanvändare eller grupp använder du följande format: user?domain*.
Windows tillåter flera format för att ange domänobjekt, men kan vara i konflikt med linux-standardmönster. Därför * används för att täcka fullständigt kvalificerade domännamn (FQDN). Den här metoden använder ?också , i stället för @, för att undvika konflikter med username@host formatet.
Användare, grupper och internetanslutna konton för arbetsgrupper matchas alltid med sitt lokala kontonamn (ingen domändel, som liknar unix-standardnamn). Domänanvändare och grupper är strikt mappade till NameSamCompatible-formatet domain_short_name\user_name.
Alla användar- och gruppbaserade konfigurationsregler måste följa det här formatet.
I följande exempel nekas contoso\admin från värden 192.168.2.23 och alla användare från Contoso-domänen blockeras. Det tillåter också användare som är medlemmar i contoso\sshusers grupperna och contoso\serveroperators .
DenyUsers contoso\admin@192.168.2.23
DenyUsers contoso\*
AllowGroups contoso\sshusers contoso\serveroperators
I följande exempel kan användaren localuser logga in från värden 192.168.2.23 och tillåter medlemmar i gruppen sshusers.
AllowUsers localuser@192.168.2.23
AllowGroups sshusers
AuthenticationMethods
För Windows OpenSSH är password de enda tillgängliga autentiseringsmetoderna och publickey.
Important
Autentisering via ett Microsoft Entra-konto stöds inte för närvarande.
AuthorizedKeysFile
Standardvärdet är .ssh/authorized_keys. Om du inte anger en absolut sökväg letar OpenSSH efter filen i förhållande till din hemkatalog, till exempel C:\Users\username. Om användaren tillhör administratörsgruppen %programdata%/ssh/administrators_authorized_keys används den i stället.
Tip
Filen administrators_authorized_keys får bara ha behörighetsposter för NT Authority\SYSTEM kontot och BUILTIN\Administrators säkerhetsgruppen. NT Authority\SYSTEM-kontot måste beviljas fullständig kontroll. Säkerhetsgruppen BUILTIN\Administrators krävs för att administratörer ska kunna hantera de auktoriserade nycklarna. Du kan välja den åtkomst som krävs. Om du vill bevilja behörigheter kan du öppna en upphöjd PowerShell-prompt och köra kommandot icacls.exe "C:\ProgramData\ssh\administrators_authorized_keys" /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F".
ChrootDirectory (stöd har lagts till i v7.7.0.0)
Det här direktivet stöds endast med SFTP-sessioner. En fjärrsession i cmd.exe tar inte hänsyn till ChrootDirectory. Om du vill konfigurera en endast sftp-chroot-server anger du ForceCommand till internal-sftp. Du kan också konfigurera SCP med chroot genom att implementera ett anpassat gränssnitt som endast tillåter SCP och SFTP.
GSSAPIAuthentication
Konfigurationsargumentet GSSAPIAuthentication anger om GSSAPI-baserad användarautentisering (Kerberos) tillåts. Standardvärdet för GSSAPIAuthentication är nej.
GSSAPI-autentisering kräver också att växeln -K anger värdnamnet när du använder OpenSSH-klienten. Du kan också skapa en motsvarande post i SSH-klientkonfigurationen. I Windows läser OpenSSH-klienten konfigurationsdata från %userprofile%\.ssh\config som standard.
Här är ett exempel på GSSAPI OpenSSH-klientkonfiguration:
# 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
Important
GSSAPI är endast tillgängligt från och med Windows Server 2022, Windows 11 och Windows 10 (maj 2021 Update).
HostKey
Standardvärdena är:
#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
Om standardvärdena inte finns genererar sshd dem automatiskt vid en tjänststart.
Match
Matchar villkor med ett eller flera kriterier. Vid en matchning tillämpas de efterföljande konfigurationsargumenten. Match använder mönsterreglerna som beskrivs i avsnittet AllowGroups, AllowUsers, DenyGroups och DenyUsers . Användar- och gruppnamn ska vara i gemener.
PermitRootLogin
Inte tillämpligt i Windows. Om du vill förhindra att administratörer loggar in använder du Administratörer med DenyGroups direktivet.
SyslogFacility
Om du behöver filbaserad loggning använder du LOCAL0. Loggar genereras under %programdata%\ssh\logs. För andra värden, inklusive standardvärdet, dirigerar AUTH loggningen till ETW. Mer information finns i Loggningsanläggningar i Windows.
Konfigurationsargument
Följande konfigurationsargument är tillgängligt från och med Windows Server 2022, Windows 11 och Windows 10 (maj 2021 Update):
- GSSAPIAuthentication
Följande konfigurationsargument är inte tillgängliga i OpenSSH-versionen som levereras i Windows Server och Windows:
- AcceptEnv
- AllowStreamLocalForwarding
- AuthorizedKeysCommand
- AuthorizedKeysCommandUser
- AuthorizedPrincipalsCommand
- AuthorizedPrincipalsCommandUser
- ExposeAuthInfo
- GSSAPICleanupCredentials
- GSSAPIStrictAcceptorCheck
- HostbasedAcceptedKeyTypes
- HostbasedAuthentication
- HostbasedUsesNameFromPacketOnly
- IgnoreRhosts
- IgnoreUserKnownHosts
- KbdInteractiveAuthentication
- KerberosAuthentication
- KerberosGetAFSToken
- KerberosOrLocalPasswd
- KerberosTicketCleanup
- PermitTunnel
- PermitUserEnvironment
- PermitUserRC
- PidFile
- PrintLastLog
- PrintMotd
- RDomain
- StreamLocalBindMask
- StreamLocalBindUnlink
- StrictModes
- X11DisplayOffset
- X11Forwarding
- X11UseLocalhost
- XAuthLocation