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.
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).
- Csomagolja ki az archívum tartalmát a célkönyvtárba, például:
C: \ OpenSSH-Win
- Elindítjuk a PowerShell parancssort rendszergazdai jogokkal, és megyünk az OpenSSH könyvtárba:
Cd C: \ OpenSSH-Win
- Adja hozzá az elérési utat az OpenSSH könyvtárhoz a Path környezeti változóhoz;
- 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); - 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.
- 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
- 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
- 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:
- Nyissa meg a Powershell adminisztrációs konzolt
- Állítsa le az SSHD szolgáltatást:
Stop-Service sshd
- 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