Az SFTP-kiszolgáló (SSH FTP) telepítése és konfigurálása Windows rendszeren az OpenSSH alapján

A Windows hivatalos OpenSSH csomagjának használatával a biztonságos fájlátviteli protokoll használatával könnyedén megszervezheti a kliens és a Windows kiszolgálók közötti biztonságos fájlcserét. SFTP (Secure FTP). Ebben a cikkben bemutatjuk, hogyan lehet a Win32-OpenSSH-t használni az SFTP-kiszolgáló telepítéséhez Windows 10 vagy Windows Server 2016 / 2012R2.

Tartalom:

  • SFTP szolgáltatások
  • SFTP végrehajtása Windows rendszereken
  • A Win32 OpenSSH telepítése a Windows 10 1803 + / Windows Server 2019 rendszerre
  • A Win32 OpenSSH telepítése a Windows Server 2016/2012 R2 rendszerre
  • Az SFTP kapcsolat tesztelése WinSCP használatával
  • A Win32 OpenSSH szolgáltatás eltávolítása

SFTP szolgáltatások

protokoll SFTP (Biztonságos fájlátviteli protokoll , Biztonságos FTP vagy SSH FTP) az SSH protokoll kiterjesztése, amely a UNIX / Linux rendszerek világában szabvány. Bár a felhasználók szempontjából hasonló az FTP-hez, de a valóságban ez egy teljesen más protokoll, amelynek semmi köze sincs az FTP-hez. Az adatokat a kliens és a szerver között a 22. porton továbbítják az SSH alagúton keresztül.

Az SFTP legfontosabb előnyei:

  • A fájlokat és a parancsokat biztonságos SSH munkamenetben továbbítják;
  • A fájlok és a parancsok átvitele egyetlen kapcsolaton keresztül történik;
  • Támogatja a szimbolikus hivatkozásokat, megszakításokat, folytatást, átvitelt, fájlok törlését stb.
  • Általában olyan csatornákon, ahol az FTP lassú vagy szakaszos, az SFTP kapcsolat megbízhatóbb és gyorsabb;
  • Hitelesítés SSH kulcsokkal.
Nem kell összekeverni az SFTP-t és az FTPS-t. Az FTPS alapvetően egy szabályos FTP SSL tanúsítvánnyal, míg az SFTP az FTP adatok és parancsok átvitele az SSH-n belül.

SFTP végrehajtása Windows rendszereken

Korábban a Windows operációs rendszereknek nem voltak beépített eszközei a biztonságos SFTP szerver megszervezéséhez. Erre a célra általában nyílt vagy kereskedelmi megoldásokat használtak, például a Core FTP, FileZilla, CYGWIN, OpenSSH, FTP Shell, IPSwitch stb. A Microsoft azonban néhány évvel ezelőtt kiadta az WinSS számára az OpenSSH port verzióját. Ezt a projektet hívják győzelem32-OpenSSH.

Fontolja meg az SFTP-kiszolgáló beállításának folyamatát a Windows 10 és a Windows Server 2016/2012 R2 rendszerben a Win32-OpenSSH csomag használatával.

A Win32 OpenSSH telepítése a Windows 10 1803 + / Windows Server 2019 rendszerre

A Windows 10-ben, az 1803-as építkezéssel kezdve, és a Windows Server 2019-ben, az OpenSSH csomag (mint például az RSAT) már szerepel az operációs rendszerben Feature on Demand (FoD) szolgáltatásként..

Windows 10 és Windows Server 2019 rendszereken telepítheti az OpenSSH szervert a PowerShell-parancsmag segítségével:

Add-WindowsCapability -Online -Név OpenSSH.Server *

Vagy a DISM használatával:
dism / Online / Add-Capability /CapabilityName:OpenSSH.Server~~.0.0.0.0

Vagy telepítheti az OpenSSH-t a Windows 10 felhasználói felületéről (Beállítások -> Alkalmazások -> Opcionális szolgáltatások -> Adjon hozzá egy funkciót -> Nyissa meg az ssh szervert -> felszerel).

Az OpenSSH futtatható fájlok a következő könyvtárban találhatók:

c: \ windows \ system32 \ OpenSSH \

Az sshd_config konfigurációs fájl a C: \ ProgramData \ ssh könyvtárban található (a könyvtárat a szolgáltatás első indítása után hozzák létre).

Napló - c: \ windows \ system32 \ OpenSSH \ logs \ sshd.log

Az engedélyezett_kulcs fájlt és a kulcsokat a% USERPROFILE% \. Ssh \ tárolja..

További információ az OpenSSH használatáról a biztonságos SSH-alagúton keresztül a Windows 10 / Windows Server 2019-hez történő csatlakozáshoz..

A Win32 OpenSSH telepítése a Windows Server 2016/2012 R2 rendszerre

A Windows 10 és a Windows Server 2016/2012 R2 korábbi verzióiban le kell töltenie és telepítenie az OpenSSH-t a GitHubból (https://github.com/PowerShell/Win32-OpenSSH/releases). Szüksége van a Windows 64 bites verziójára: OpenSSH-győzelem64.zip (3,5 Mb).

  1. Csomagolja ki az archívum tartalmát a célkönyvtárba, például: C: \ OpenSSH-Win
  2. Elindítjuk a PowerShell parancssort rendszergazdai jogokkal, és megyünk az OpenSSH könyvtárba:Cd C: \ OpenSSH-Win
  3. Adja hozzá az elérési utat az OpenSSH könyvtárhoz a Path környezeti változóhoz;
  4. Telepítse az OpenSSH szervert: .\ install-sshd.ps1 (meg kell jelennie a „sshd és ssh-agent szolgáltatások sikeresen telepítve” zöld üzenetnek);
  5. Generáljon SSH kulcsokat a kiszolgálóhoz (az sshd szolgáltatás indításához szükséges):ssh-keygen.exe -A 
    ssh-keygen: új host kulcsok generálása: RSA DSA ECDSA ED25519

    Ha hiba történik

     ssh-keygen: új host kulcsok generálása: RSA nem sikerült menteni a nyilvános kulcsot a __PROGRAMDATA __ \\ ssh / ssh_host_rsa_key.bxKmOcF49P mappában: Nincs ilyen fájl vagy könyvtár

    , ellenőrizze, hogy létrejött-e a% programdata% \ ssh könyvtár.

  6. Engedélyezze az automatikus futtatást az SSHD szolgáltatáshoz, és indítsa el a következő PowerShell szolgáltatáskezelési parancsokkal:Set-Service -Name sshd -StartupType 'Automatic'
    Start-Service sshd
  7. A PowerShell használatával nyissa meg a TCP 22. portját a Windows tűzfalon az SSH szerverre érkező forgalom számára:Új-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
  8. Nyissa meg a "C: \ ProgramData \ SSH \ sshd_config" konfigurációs fájlt bármelyik szövegszerkesztőben, keresse meg és ellenőrizze az irányelv értékét Alrendszer sftp. A fájlt itt kell megadni. sftp-server.exe. Fontolja meg az sshd_config konfigurációs fájl hasznos irányelveit:
    Az AllowGroups corp \ admingroup # csak az ebből a csoportból származó felhasználók számára engedélyezi az OpenSSH elérését. AuthenticationMethods password # engedélyezze a jelszavak hitelesítését (SSH kulcsok nem használhatók) ForceCommand internal-sftp # ChrootDirectory C: \ inetpub \ wwwroot \ ftpfolder # alapértelmezett könyvtár az SFTP felhasználók számára 

Az SFTP kapcsolat tesztelése WinSCP használatával

Próbáljunk csatlakozni az SSH szerverhez, amelyet az SFTP protokoll használatával hozunk létre. Erre a célra ingyenes klienst fogunk használni WinSCP.

A kapcsolati beállítások ablakban válassza ki az SFTP fájlátviteli protokollt, adja meg a kiszolgáló nevét és annak a Windows-fióknak az adatait, amely alatt a kapcsolat létrejött (a kulcs engedélyezése is konfigurálható).Az első csatlakozáskor megjelenik egy ablak, amely figyelmezteti, hogy a gazdakulcs nincs a helyi gyorsítótárban.

Ha minden helyesen van konfigurálva, akkor az ügyfélnek csatlakoznia kell az SFTP szerverhez, és meg kell jelenítenie a felhasználó otthoni könyvtárában található fájlok listáját (alapértelmezés szerint a felhasználói profilkal rendelkező könyvtár)..

Az ismerős fájlkezelő felületen biztonságosan másolhatja a fájlokat a kiszolgáló és az ügyfél között. A fájlok átvitele a biztonságos SFTP protokoll használatával történik.

A Win32 OpenSSH szolgáltatás eltávolítása

A Win32 OpenSSH szolgáltatás helyes eltávolításához a rendszerből:

  1. Nyissa meg a Powershell adminisztrációs konzolt
  2. Állítsa le az SSHD szolgáltatást:Stop-Service sshd
  3. Az OpenSSD szolgáltatás eltávolítása: Távolítsa el a kulcsokat:.\ uninstall-sshlsa.ps1
    sshd sikeresen eltávolítva az ssh-agent sikeresen eltávolítva