Megosztás a következőn keresztül:


OpenSSH Server-konfiguráció Windows Serverhez és Windowshoz

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 lehetőségekről az interneten, az OpenSSH.com oldalon, ami ebben a dokumentációkészletben nincs megismételve.

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 a Windows Server és a Windows Ügyfél operációs rendszerekhez lett hozzáadva, kezdve a Windows Server 2019-zel és a Windows 10-zel (1809-build). Ennek eredményeképpen 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 és az OpenSSH-kiszolgáló konfigurációs fájljainál találhatók a sshd_config manuális lapon.

Az SSH-kiszolgáló (sshd) alapértelmezés szerint beolvassa a konfigurációs adatokat %programdata%\ssh\sshd_config, vagy egy másik konfigurációs fájl adható meg a sshd.exe paraméterrel való -f indítással. 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:

  1. A ssh.exe paraméterrel -F indításával megadhatja a konfigurációs fájl elérési útját és a fájl bejegyzésnevét.
  2. Egy felhasználó konfigurációs fájlja a %userprofile%\.ssh\config webhelyen.
  3. A %programdata%\ssh\ssh_config rendszerszintű konfigurációs fájlja.

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 kezdeti alapértelmezett Windows a Windows command shell (cmd.exe). A Windows a PowerShellt is tartalmazza, és a külső 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\openssh. Az alábbi parancs megjeleníti az aktuális elérési utat, és hozzáadja az alapértelmezett OpenSSH telepítési mappát.

Parancshéj Használandó parancs
Parancs path
PowerShell $env:path

Az alapértelmezett ssh-rendszerhéj konfigurálása a Windows-beállításjegyzékben történik, ha 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 például 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):

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

Windows-konfigurációk az sshd_config fájlban

Windows rendszerben az sshd alapértelmezés szerint a %programdata%\ssh\sshd_config fájlból olvassa be a konfigurációs adatokat, vagy egy másik konfigurációs fájl is megadható a sshd.exe kapcsolóval való indításkor -f paraméterrel. 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 elemek a Windows-specifikus konfigurációt biztosítják a sshd_config bejegyzései révén. Más konfigurációs beállítások is előfordulhatnak, amelyek itt nem szerepelnek, mivel ezek részletes ismertetését az online Win32 OpenSSH dokumentációjában találja.

Jótanács

Az OpenSSH-kiszolgáló (sshd) a szolgáltatás indításakor beolvassa a konfigurációs fájlt. 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

Annak szabályozása, hogy mely felhasználók és csoportok csatlakozhatnak a kiszolgálóhoz, az AllowGroups, az AllowUsers, a DenyGroups és a DenyUsers irányelvek használatával történik. Az engedélyezési/megtagadá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 mintákról és a helyettesítő karakterekről az ssh_config fájlban a sshd_config OpenBSD kézikönyvi oldalára 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 * hozzáadásra kerül, hogy lefedje a teljesen minősített tartományneveket (FQDN-eket). Ez a megközelítés ?-t használ, ahelyett @-t, így elkerülve a username@host formátummal való ütközéseket.

A munkacsoport felhasználói/csoportjai és az internetkapcsolattal rendelkező fiókok mindig a helyi fiók nevére lesznek feloldva (nincs tartományrész, hasonló a standard Unix-nevekhez). A tartományfelhasználók és csoportok szigorúan a NameSamCompatible formátumra vannak átalakítva: domain_short_name\user_name. Ehhez a formátumhoz minden felhasználó-csoportalapú konfigurációs szabálynak meg kell felelnie.

Az alábbi példa tiltja a contoso\admin felhasználót a 192.168.2.23 gazdagépről, és letiltja az összes felhasználót a contoso tartományból. Lehetővé teszi azt is, hogy a contoso\sshusers és contoso\serveroperators csoportok tagjai hozzáférjenek.

DenyUsers contoso\admin@192.168.2.23
DenyUsers contoso\*
AllowGroups contoso\sshusers contoso\serveroperators

Az alábbi példa lehetővé teszi a localusers felhasználók számára a bejelentkezést a gazdagépről 192.168.2.23, és engedélyezi az sshusers csoport tagjainak a hozzáférést.

AllowUsers localuser@192.168.2.23
AllowGroups sshusers

Hitelesítési módszerek

Windows OpenSSH esetén az egyetlen elérhető hitelesítési módszer password és publickey.

Fontos

A Microsoft Entra-fiókkal történő hitelesítés jelenleg nem támogatott.

JogosultKulcsFájl

Az alapértelmezett érték a .ssh/authorized_keys. Ha az elérési út nem abszolút, akkor a rendszer a felhasználó kezdőkönyvtárához (vagy profilképének elérési útvonalához) viszonyítva használja, például C:\Users\username. Ha a felhasználó a rendszergazdai csoporthoz tartozik, %programdata%/ssh/administrators_authorized_keys lesz használva.

Jótanács

A administrators_authorized_keys fájl csak az NT Authority\SYSTEM-fiókhoz és a BUILTIN\Rendszergazdák biztonsági csoporthoz tartozó engedélybejegyzésekkel rendelkezik. Az NT Authority\SYSTEM-fióknak teljes hozzáféréssel kell rendelkeznie. A BEÉPÍTETT\Rendszergazdák biztonsági csoportra van szükség a rendszergazdák számára a jogosult kulcsok kezeléséhez, 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 támogatás a 7.7.0.0-s verzióban van hozzáadva)

Ezt az irányelvet csak sftp-munkamenetek támogatják. Egy távoli munkamenet cmd.exe nem venné figyelembe a 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, ha olyan egyéni rendszerhéjat implementál, amely csak az scp-t és az sftp-t engedélyezi.

GSSAPI hitelesítés

A GSSAPIAuthentication konfigurációs argumentum megadja, hogy engedélyezve van-e a GSSAPI-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 fájlból.

Láthat egy példa GSSAPI OpenSSH-ügyfélkonfigurációt:

# 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

Fontos

A GSSAPI csak Windows Server 2022, Windows 11 és Windows 10 xxxx rendszeren é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.

Mérkőzés

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 egyezések az AllowGroups, AllowUsers, DenyGroups, DenyUsers szakaszban szereplő mintaszabályokat használják. A felhasználó- és csoportneveknek kisbetűsnek kell lenniük.

Root-bejelentkezés engedélyezése

Windows rendszeren nem alkalmazható. Ha meg szeretné akadályozni, hogy a rendszergazdák bejelentkezhessenek, használja a Rendszergazdák parancsot a DenyGroups irányelvvel .

SyslogFacility

Ha fájlalapú naplózásra van szüksége, használja a LOCAL0 fájlt. A naplók%programdata% \ssh\logs alatt jö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 xxxx rendszerben érhető el:

  • GSSAPI hitelesítés

A következő konfigurációs argumentumok nem érhetők el a Windows Serveren és a Windows-ügyfélen futó OpenSSH-verzióban:

  • AcceptEnv
  • StreamLokálisTovábbítástEngedélyez
  • AuthorizedKeysCommand
  • AuthorizedKeysCommandUser (felhasználó)
  • JogosítottAlanyokParancs
  • EngedélyezettPrincipálékParancsFelhasználó
  • ExposeAuthInfo
  • GSSAPICleanup hitelesítő adatok
  • GSSAPIStrictAcceptorCheck
  • HostalapúElfogadottKulcsTípusok
  • Hosztalapú hitelesítés
  • SzolgáltatásalapúCsakAzAdatcsomagbólSzármazóNeveketHasználja
  • IgnoreRhosts
  • IsmeretlenFelhasználókFigyelmenKívülHagyása
  • KbdInteractiveAuthentication
  • KerberosAuthentication
  • Kerberos AFS token megszerzése
  • Kerberos vagy helyi jelszó
  • Kerberos-jegytakarítás
  • PermitTunnel
  • Felhasználói környezet engedélyezése
  • Felhasználói engedély RC
  • PidFile (folyamat azonosító fájl)
  • UtolsóNaplóNyomtatás
  • PrintMotd
  • RDomain
  • StreamLocalBindMask
  • StreamLocalBindUnlink
  • StrictModes
  • X11DisplayOffset
  • X11 továbbítás (X11Forwarding)
  • X11UseLocalhost
  • XAuthLocation