Használja az OpenSSH-t Windows gépeken a fájlok biztonságos átviteléhez
A Linux- és Unix-adminisztrátorok megszokták, hogy Open Secure Shell-t (OpenSSH) használnak a szerverekhez való csatlakozáshoz, mert ez évtizedek óta benne van ezekben a rendszerekben. A Windows-felhasználóknak viszont hagyományosan harmadik féltől származó eszközöket kellett letölteniük, mint például a Putty vagy a WinSCP, hogy kihasználhassák az SSH-képességeket.
Ez azonban megváltozott, amikor az OpenSSH opcionális funkcióként elérhetővé vált a Windows 10 és a Windows Server 2019 rendszerben. Mivel a Windows már natívan kínál SSH-kiszolgálót és SSH-klienst is, nincs ok arra, hogy valaha is használjunk telnetet vagy FTP-t, amelyek nem rendelkeznek titkosítási képességekkel - SSH. kiváló biztonságot nyújt, ha kiszolgálóhoz kell csatlakoznia, vagy hálózati kapcsolaton keresztül fájlokat kell másolnia.
Ez a cikk részletezi az OpenSSH telepítését és a fájlok biztonságos átvitelét WinSCP vagy PowerShell használatával.
Mire használható az OpenSSH?
Az OpenSSH egy olyan eszköz, amely biztonságos kommunikációt biztosít számítógépes hálózaton az SSH protokoll használatával. Különféle feladatokhoz használható, beleértve a következőket:
- Biztonságosan jelentkezzen be távoli gépekre, hogy parancsokat hajtson végre a kiszolgálókezeléshez vagy a műszaki támogatáshoz.
- Biztonságosan másoljon vagy helyezzen át fájlokat két gép között.
Ezek a feladatok biztonságosak, mert az OpenSSH tartalmazza a Secure Copy protokollt (SCP) és az SSH fájlátviteli protokollt (SFTP), az OpenSSH pedig titkosítja az összes forgalmat egy biztonságos alagúton keresztül, lehetővé téve az érzékeny adatok továbbítását az interneten vagy a nem biztonságos hálózaton keresztül. Az alagút akkor jön létre, amikor az ügyfél és a kiszolgáló nyilvános kulcsokat cserél.
Az OpenSSH funkció hozzáadása Windows rendszeren
Előfeltételek
Az OpenSSH telepítése Windows rendszerű gépre:
- Az eszközön legalább Windows Server 2019 vagy Windows 10 (1809-es build) futnia kell.
- A gépen PowerShell 5.1 vagy újabb verziónak kell futnia.
- Olyan fiókot kell használnia, amely a beépített Rendszergazdák csoport tagja.
Először ellenőrizze, hogy az OpenSSH telepítve van-e. A Rendszergazdák ablakának PowerShell termináljával futtassa ezt a parancsot:
Get-WindowsCapability -Online -Name "Open*"Az alábbi képernyőképen láthatja, hogy az OpenSSH-kliens telepítve van, de az OpenSSH-kiszolgáló nincs.
Az OpenSSH-kiszolgálót és az OpenSSH-ügyfelet egyaránt telepítheti a Windows-beállítások vagy a PowerShell használatával, az alábbiak szerint.
Az OpenSSH telepítése a Windows beállítások segítségével
- A kezdéshez nyissa meg a Beállítások Alkalmazások és funkciók részét, és kattintson az Opcionális funkciók kezelése lehetőségre.
- Kattintson a Termék hozzáadása lehetőségre.
- A szerverösszetevő telepítéséhez válassza az OpenSSH-kiszolgáló lehetőséget, és kattintson a Telepítés gombra.
- Ezután telepítse az SSH-klienst. Válassza az OpenSSH-ügyfél lehetőséget, majd kattintson a Telepítés gombra. Vegye figyelembe, hogy ha az ügyfél már telepítve van, akkor helyette egy Eltávolítás gombot fog látni, ahogy az alább látható; ebben az esetben nincs szükség intézkedésre.
- Állítsa be az OpenSSH szolgáltatást, hogy automatikusan fusson a Windows Services Manager használatával, amint az ezen a képernyőképen látható:
- Ha a Windows Defender Firewall with Advanced Security engedélyezve van, akkor meg kell nyitnia a 22-es portot, amelyet az Internet Assigned Numbers Authority (IANA) rendelt az SSH-hoz.
A PowerShell használata az OpenSSH telepítéséhez
Alternatív megoldásként telepítheti az OpenSSH-kiszolgálót és az ügyfél-összetevőket a Windows PowerShell használatával.
- Telepítse az OpenSSH kiszolgáló összetevőt a következő paranccsal:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
- Ezután telepítse az OpenSSH klienst a következő paranccsal:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0- Ezután használja a következő PowerShell-parancsokat az OpenSSH szolgáltatás konfigurálásához és elindításához.
Start-Service sshd
Set-Service -Name sshd -StartupType ‘Automatic’- Mint korábban említettük, a 22-es portnak nyitva kell lennie a tűzfalon. A következő paranccsal gyorsan ellenőrizheti, hogy van-e már konfigurálva tűzfalszabály az OpenSSH számára:
Get-NetFirewallRule -Name *ssh*Az alábbi kimenet azt mutatja, hogy egy szabály már létrejött.
Ha a szabály hiányzik, a következő paranccsal nyissa meg az SSH-portot:
New-NetFirewallRule -Name sshd -DisplayName ‘OpenSSH Server (sshd)’ -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22- Végül győződjön meg arról, hogy minden megfelelően van beállítva, és az OpenSSH démon figyeli a bejövő kapcsolatokat. A kapcsolat teszteléséhez futtassa a következő parancsot egy másik szerverről vagy asztali gépről:
Test-NetConnection -ComputerName <computer name> -Port 22 -InformationLevel DetailedHa a teszt sikeres, akkor valami ilyesmit fog látni:
Ha meghiúsul, akkor ez több dolgot is jelenthet a hálózati kapcsolattal kapcsolatban; például a tűzfalszabály nincs létrehozva vagy engedélyezve egy távoli számítógépen.
Fájlok mozgatása SSH használatával
A fájl áthelyezése SSH használatával majdnem ugyanaz, mint egy FTP-alkalmazással, például a WinSCP-vel. Vegye figyelembe, hogy jogosultsággal kell rendelkeznie a fájl olvasásához a forrásgépen és írási engedéllyel a célkönyvtárban.
Fájl áthelyezése WinSCP használatával
Először is, először használjuk a WinSCP segédprogramot az új SSH-kiszolgáló tesztelésére. (Ha szükséges, letöltheti innen a WinSCP-t.) Vegye figyelembe, hogy ha WinSCP-t használ, akkor nem kell engedélyeznie az OpenSSH-ügyfelet.
- Nyissa meg a WinSCP-t, és adjon meg új kapcsolatot a szerverrel: Válassza az Új webhely lehetőséget, győződjön meg arról, hogy a fájlprotokoll SFTP-re van állítva, a port pedig 22-re van állítva (az alapértelmezett értékek), majd adjon meg egy felhasználónevet, az alábbi példában látható módon.
- Kattintson a Bejelentkezés gombra, és adja meg a megadott fiók jelszavát. A következő párbeszédpanel megjeleníti a szerver ECDSA-kulcsának ujjlenyomatát, amint az az alábbi képernyőképen látható. Ez a kulcs elsősorban annak biztosítására szolgál, hogy az ügyfél a megfelelő szerverrel kommunikáljon. Amikor az ügyfél először csatlakozik a kiszolgálóhoz, a nyilvános állomáskulcs átadásra kerül az ügyfélnek. A folytatáshoz kattintson az Igen gombra.
- A következő ablakban a bal oldali ablaktábla a forrásgép alapértelmezett mappáját, a jobb oldali pedig a célkiszolgálón lévő felhasználó alapértelmezett mappáját jeleníti meg. Navigáljon a kívánt mappákhoz. Az alábbi példában jobb gombbal rákattintunk egy fájlra, hogy letöltsük az ügyféleszközre. Alternatív megoldásként áthúzhatja a fájlokat egyik oldalról a másikra.
Másoljon egy fájlt vagy könyvtárat az OpenSSH használatával
Fájl másolásához a Windows OpenSSH használatával a következő PowerShell-parancsot használhatja. Vegye figyelembe, hogy az OpenSSH-kiszolgálót és a klienst is engedélyezni kell.
scp <filename> <username>@<hostname>:<directory_path>Egy teljes könyvtár másolásához használja a következő parancsot.
scp -r <local_directory_path> <username>@<hostname>:<remote_directory_path>Ha a címtár nem létezik a célkiszolgálón, akkor létrejön (feltételezve, hogy jogosultsága van erre).
A fájlokat oda-vissza másolhatja Linux és Unix szerverekről Windows szerverekre és asztali számítógépekre.
Gyakran Ismételt Kérdések
Hogyan helyezhet át fájlokat SSH használatával?
Amikor Unix-szerű rendszerekkel dolgozik, az mv paranccsal áthelyezhet egy fájlt egy távoli szerveren SSH használatával egyik helyről a másikra.
Windows-gépeken telepíthet harmadik féltől származó SSH-kiszolgálót és ügyfélalkalmazást, vagy engedélyezheti az OpenSSH funkciót (Windows Server 2019 vagy 2022, illetve Windows 10 vagy 11 szükséges).
Mindkét esetben rendelkeznie kell a bejelentkezési hitelesítő adatokkal a csatlakozáshoz, valamint a szükséges engedélyekkel a fájl olvasásához a forrásgépen és írási jogosultsággal a célkönyvtárban.
Lehetővé teszi az SSH fájlátvitelt?
Igen. Az SSH tartalmazza a Secure Copy protokollt (SCP) és az SSH File Transfer protokollt (SFTP), amelyek lehetővé teszik a fájlok biztonságos átvitelét a helyi gazdagép és a távoli gazdagép között.
Hogyan vihetek át fájlokat egy SSH-kiszolgálóról egy helyi gépre?
A fájl OpenSSH-kiszolgálóról a Windows vagy Windows Server támogatott verziójával rendelkező gépre történő átvitelének egyik módja a következő PowerShell-parancs használata:
scp C:\path\to\local\file username@remote-server:/path/to/remote/directory- Cserélje ki a C:\útvonal\helyi\fájl elemet a helyi gépen másolni kívánt fájl elérési útjára.
- Cserélje le a felhasználónév elemet a távoli szerveren lévő felhasználónévvel. (A rendszer kérni fogja a jelszót.)
- Cserélje le a remote-server kifejezést a távoli szerver gazdagépnevére vagy IP-címére.
- Cserélje ki a útvonal/távoli/könyvtár kifejezést a távoli kiszolgáló azon könyvtárának elérési útjára, ahová a fájlt másolni szeretné.
Alternatív megoldásként használhat harmadik féltől származó SSH-segédprogramokat, amelyek könnyen használható menüket kínálnak.












