Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk az OpenSSH Server (sshd) Windows-specifikus konfigurációját ismerteti.
Az OpenSSH részletes dokumentációt tart fenn a konfigurációs beállításokról online a OpenSSH.com weboldalon. Ez a dokumentáció nem duplikálva van ebben a dokumentációkészletben.
OpenSSH konfigurációs fájlok
Az OpenSSH konfigurációs fájlokkal rendelkezik a kiszolgáló és az ügyfél beállításaihoz is. Az OpenSSH nyílt forráskódú, és Windows Server és Windows rendszerű ügyfél operációs rendszerekhez lett hozzáadva a Windows Server 2019-től és a Windows 10-től kezdve (1809-ben készült). Az OpenSSH-konfigurációs fájlok nyílt forráskódú dokumentációja itt nem ismétlődik meg. Az ügyfélkonfigurációs fájlok a ssh_config manuális lapon találhatók. Az OpenSSH-kiszolgáló konfigurációs fájljai a sshd_config manuális lapon találhatók.
Az OpenSSH-kiszolgáló alapértelmezés szerint beolvassa a konfigurációs adatokat %programdata%\ssh\sshd_config . A paraméterrel sshd.exe futtatva -f megadhat egy másik konfigurációs fájlt. Ha a fájl hiányzik, az sshd létrehoz egyet az alapértelmezett konfigurációval a szolgáltatás indításakor.
Windows rendszerben az OpenSSH-ügyfél (ssh) a konfigurációs fájlból a következő sorrendben olvassa be a konfigurációs adatokat:
- A
ssh.exea-Fparaméterrel lett elindítva, megadva egy konfigurációs fájl útvonalát és a fájlból egy bejegyzés nevét. - A felhasználó konfigurációs fájlján keresztül:
%userprofile%\.ssh\config. - A rendszerszintű konfigurációs fájlon keresztül a következő helyen
%programdata%\ssh\ssh_config: .
A Windows rendszerben az OpenSSH alapértelmezett shelljének konfigurálása
Az alapértelmezett parancshéj biztosítja a felhasználó által a kiszolgálóhoz SSH-val való csatlakozáskor tapasztalt élményt. A Windows kezdeti alapértelmezett beállítása a Windows parancssora (cmd.exe). A Windows a PowerShellt is tartalmazza, és a Nem Microsoft parancshéjak is elérhetők a Windowshoz, és a kiszolgáló alapértelmezett rendszerhéjaként konfigurálhatók.
Az alapértelmezett parancshéj beállításához először győződjön meg arról, hogy az OpenSSH telepítési mappája a rendszer elérési útján található.
Windows esetén az alapértelmezett telepítési mappa a %systemdrive%\Windows\System32\opensshkövetkező: .
Az alábbi parancs az aktuális elérési út beállítását mutatja be, és hozzáadja az alapértelmezett OpenSSH telepítési mappát.
| Parancssor | Használandó parancs |
|---|---|
| Command | path |
| PowerShell | $env:path |
Az alapértelmezett ssh-rendszerhéj konfigurálható a Windows beállításjegyzékben úgy, hogy hozzáadja a teljes elérési utat a futtatható rendszerhéjhoz HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH a sztringértékben DefaultShell.
Az alábbi emelt szintű PowerShell-parancs az openSSH-kiszolgáló alapértelmezett rendszerhéját powershell.exe állítja be. (Az elérési út beállítása nem vonatkozik az OpenSSH-ügyfélre.)
$NewItemPropertyParams = @{
Path = "HKLM:\SOFTWARE\OpenSSH"
Name = "DefaultShell"
Value = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
PropertyType = "String"
Force = $true
}
New-ItemProperty @NewItemPropertyParams
Windows-konfigurációk sshd_config fájlban
Windows rendszerben az sshd alapértelmezés szerint beolvassa a konfigurációs adatokat %programdata%\ssh\sshd_config . A paraméterrel sshd.exe futtatva -f megadhat egy másik konfigurációs fájlt.
Ha a fájl hiányzik, az sshd létrehoz egyet az alapértelmezett konfigurációval a szolgáltatás indításakor.
Az alábbi szakaszok a Windows-specifikus konfigurációs beállításokat ismertetik, amelyek a sshd_config bejegyzéseiből érhetők el. Más konfigurációs beállítások is lehetségesek, amelyek itt nem szerepelnek. Ezek részletes ismertetését a Win32 OpenSSH dokumentációja ismerteti.
Tip
Az OpenSSH-kiszolgáló (sshd) beolvassa a konfigurációs fájlt a szolgáltatás indításakor. A konfigurációs fájl módosításaihoz újra kell indítani a szolgáltatást.
EngedélyezettCsoportok, EngedélyezettFelhasználók, TiltottCsoportok, TiltottFelhasználók
A , AllowGroupsAllowUsersés irányelvek használatával szabályozhatja, hogy mely felhasználók és DenyGroups csoportok csatlakozhatnak a DenyUserskiszolgálóhoz.
Az engedélyezési és elutasítási irányelvek feldolgozása a következő sorrendben történik: DenyUsers, AllowUsers, DenyGroupsés végül AllowGroups.
Minden fióknevet kisbetűvel kell megadni.
A ssh_config mintáiról és helyettesítő karaktereiről az sshd_config OpenBSD manuális oldalán talál további információt.
Ha felhasználó-/csoportalapú szabályokat konfigurál tartományi felhasználóval vagy csoporttal, használja a következő formátumot: user?domain*.
A Windows több formátumot is lehetővé tesz a tartománynevek megadásához, de ütközhet a szabványos Linux-mintákkal. Ezért * a teljes tartománynevek (FQDN-k) lefedésére szolgál. Ez a módszer a formátummal való ütközések elkerülésére is használja ?ahelyett @, hogy a username@host formátummal ütközik.
A munkacsoport felhasználói, csoportjai és internetkapcsolattal rendelkező fiókjai mindig a helyi fiókjuk nevére lesznek feloldva (nincs tartományrész, hasonló a szokásos Unix-nevekhez). A tartományi felhasználók és csoportok szigorúan a NameSamCompatible formátumra domain_short_name\user_namevannak feloldva.
Ehhez a formátumhoz minden felhasználó- és csoportalapú konfigurációs szabálynak meg kell felelnie.
Az alábbi példa tagadja contoso\admin a gazdagép 192.168.2.23-at, és letiltja az összes felhasználót a Contoso tartományból. Emellett lehetővé teszi a tagok és contoso\sshusers csoportok contoso\serveroperators tagjait is.
DenyUsers contoso\admin@192.168.2.23
DenyUsers contoso\*
AllowGroups contoso\sshusers contoso\serveroperators
Az alábbi példa lehetővé teszi a felhasználónak localuser , hogy jelentkezzen be a gazdagépről 192.168.2.23, és engedélyezi a csoport sshuserstagjainak.
AllowUsers localuser@192.168.2.23
AllowGroups sshusers
AuthenticationMethods
Windows OpenSSH esetén az egyetlen elérhető hitelesítési módszer password és publickey.
Important
A Microsoft Entra-fiókon keresztüli hitelesítés jelenleg nem támogatott.
AuthorizedKeysFile
Az alapértelmezett érték a .ssh/authorized_keys. Ha nem ad meg abszolút elérési utat, az OpenSSH megkeresi a fájlt a kezdőkönyvtárhoz képest, például C:\Users\username. Ha a felhasználó a rendszergazdai csoporthoz tartozik, %programdata%/ssh/administrators_authorized_keys akkor azt használja a rendszer.
Tip
A administrators_authorized_keys fájlnak csak a fiókhoz és NT Authority\SYSTEM a BUILTIN\Administrators biztonsági csoporthoz tartozó engedélybejegyzésekkel kell rendelkeznie. Az NT Authority\SYSTEM-fióknak teljes hozzáféréssel kell rendelkeznie. A BUILTIN\Administrators biztonsági csoportra azért van szükség, hogy a rendszergazdák felügyelhessék az engedélyezett kulcsokat. Kiválaszthatja a szükséges hozzáférést. Engedélyek megadásához megnyithat egy emelt szintű PowerShell-parancssort, és futtathatja a parancsot icacls.exe "C:\ProgramData\ssh\administrators_authorized_keys" /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F".
ChrootDirectory (a 7.7.0.0-s verzióban hozzáadott támogatás)
Ez az irányelv csak SFTP-munkamenetekben támogatott. A távoli munkamenet cmd.exe nem veszi figyelembe ChrootDirectory. Az sftp-only chroot-kiszolgáló beállításához állítsa be a ForceCommand-t belső sftp-re. Az SCP-t chroottal is beállíthatja egy egyéni rendszerhéj implementálásával, amely csak az SCP-t és az SFTP-t teszi lehetővé.
GSSAPIAuthentication
A GSSAPIAuthentication konfigurációs argumentum azt határozza meg, hogy engedélyezve van-e a GSSAPI (Kerberos) alapú felhasználói hitelesítés. Az alapértelmezett érték a GSSAPIAuthentication nem.
A GSSAPI-hitelesítéshez az OpenSSH-ügyfél használatakor a -K gazdagépnevet meghatározó kapcsolót is használni kell. Másik lehetőségként létrehozhat egy megfelelő bejegyzést az SSH-ügyfélkonfigurációban. Windows rendszerben az OpenSSH-ügyfél alapértelmezés szerint beolvassa a konfigurációs adatokat %userprofile%\.ssh\config .
Íme egy példa GSSAPI OpenSSH-ügyfélkonfigurációra:
# 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
A GSSAPI csak Windows Server 2022, Windows 11 és Windows 10 rendszeren (2021. májusi frissítés) érhető el.
HostKey
Az alapértelmezett értékek a következők:
#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
Ha az alapértelmezett értékek nem jelennek meg, az sshd automatikusan létrehozza őket egy szolgáltatás indításakor.
Match
Megfelel a feltételeknek egy vagy több kritérium alapján. Egyezés esetén a rendszer a következő konfigurációs argumentumokat alkalmazza. Az Illesztés az AllowGroups, AllowUsers, DenyGroups, DenyUsers szakaszban szereplő mintázati szabályokat használja. A felhasználó- és csoportneveknek kisbetűsnek kell lenniük.
PermitRootLogin
Windows rendszeren nem alkalmazható. Ha meg szeretné akadályozni, hogy a rendszergazdák bejelentkezhessenek, használja a Rendszergazdák parancsot az DenyGroups irányelvvel.
SyslogFacility
Ha fájlalapú naplózásra van szüksége, használja LOCAL0a . A naplók a következő alatt %programdata%\ssh\logsjönnek létre: . Bármely más érték esetén, beleértve az alapértelmezett értéket is, az AUTH a naplózást az ETW-be irányítja. További információ: Naplózási lehetőségek a Windowsban.
Konfigurációs argumentumok
A következő konfigurációs argumentum a Windows Server 2022, a Windows 11 és a Windows 10 rendszerben (2021. májusi frissítés) érhető el:
GSSAPIAuthentication
A következő konfigurációs argumentumok nem érhetők el a Windows Serveren és Windowson futó OpenSSH-verzióban:
AcceptEnvAllowStreamLocalForwardingAuthorizedKeysCommandAuthorizedKeysCommandUserAuthorizedPrincipalsCommandAuthorizedPrincipalsCommandUserExposeAuthInfoGSSAPICleanupCredentialsGSSAPIStrictAcceptorCheckHostbasedAcceptedKeyTypesHostbasedAuthenticationHostbasedUsesNameFromPacketOnlyIgnoreRhostsIgnoreUserKnownHostsKbdInteractiveAuthenticationKerberosAuthenticationKerberosGetAFSTokenKerberosOrLocalPasswdKerberosTicketCleanupPermitTunnelPermitUserEnvironmentPermitUserRCPidFilePrintLastLogPrintMotdRDomainStreamLocalBindMaskStreamLocalBindUnlinkStrictModesX11DisplayOffsetX11ForwardingX11UseLocalhostXAuthLocation