Weboldal keresés

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

  1. 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.

  1. 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 Detailed

Ha 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.

  1. 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.

Kapcsolódó cikkek