Instalacija i konfiguracija SFTP poslužitelja (SSH FTP) u sustavu Windows temeljen na OpenSSH

Korištenjem službenog paketa OpenSSH za Windows, lako možete organizirati sigurnu razmjenu datoteka između klijenta i Windows poslužitelja koristeći protokol sigurnog prijenosa datoteka SFTP (Secure FTP). U ovom ćemo članku pokazati kako koristiti Win32-OpenSSH za instaliranje SFTP servera na Windows 10 ili Windows Server 2016 / 2012R2.

sadržaj:

  • SFTP značajke
  • Uvođenje SFTP u Windows sustave
  • Instaliranje Win32 OpenSSH na Windows 10 1803 + / Windows Server 2019
  • Instaliranje Win32 OpenSSH na Windows Server 2016/2012 R2
  • Ispitivanje SFTP veze pomoću WinSCP
  • Uklanjanje usluge Win32 OpenSSH

SFTP značajke

protokol SFTP (Sigurni protokol za prijenos datoteka , Osigurajte FTP ili SSH FTP) je proširenje SSH protokola, što je standard u svijetu UNIX / Linux sustava. Iako je s gledišta korisnika sličan FTP-u, ali u stvarnosti je to posve drugačiji protokol koji nema nikakve veze s FTP-om. Podaci između klijenta i poslužitelja prenose se na priključak 22 kroz SSH tunel.

Ključne prednosti SFTP-a:

  • Datoteke i naredbe prenose se unutar sigurne SSH sesije;
  • Jedna se veza koristi za prijenos datoteka i naredbi;
  • Podrška za simboličke veze, prekid, nastavak, prijenos, brisanje datoteka itd.;
  • U pravilu, na kanalima gdje je FTP spor ili isprekidan, SFTP veza je pouzdanija i brža;
  • Autentifikacija SSH ključevima.
Ne treba brkati SFTP i FTPS. FTPS je u osnovi običan FTP sa SSL certifikatom, dok je SFTP prijenos FTP podataka i naredbi unutar SSH.

Uvođenje SFTP u Windows sustave

Povijesno, Windows operacijskim sustavima nije bilo ugrađenih alata za organiziranje sigurnog SFTP poslužitelja. U te svrhe obično su korištena otvorena ili komercijalna rješenja, na primjer, Core FTP, FileZilla, CYGWIN, OpenSSH, FTP Shell, IPSwitch itd. Međutim, prije nekoliko godina Microsoft je izdao svoju verziju OpenSSH porta za win32. Ovaj projekt se zove pobjeda32-OpenSSH.

Razmotrite postupak postavljanja SFTP poslužitelja u sustavu Windows 10 i Windows Server 2016/2012 R2 pomoću paketa Win32-OpenSSH.

Instaliranje Win32 OpenSSH na Windows 10 1803 + / Windows Server 2019

U sustavu Windows 10, počevši s ugradnjom 1803, i u Windows Server 2019, OpenSSH paket (poput RSAT-a) je već uključen u operativni sustav u obliku Feature on Demand (FoD).

Na Windows 10 i Windows Server 2019 možete instalirati OpenSSH poslužitelj pomoću команди PowerShell:

Add-WindowsCapability -Online -Name OpenSSH.Server *

Ili pomoću DISM-a:
dism / Online / Mogućnosti dodavanja / MogućnostName:OpenSSH.Server~~.0.0.0.0

Ili možete instalirati OpenSSH iz GUI sustava Windows 10 (postavke -> Aplikacije -> Neobavezna svojstva -> Dodajte značajku -> Otvorite ssh server -> instalirati).

Izvršne datoteke OpenSSH nalaze se u direktoriju:

c: \ windows \ system32 \ OpenSSH \

Konfiguracijska datoteka sshd_config nalazi se u direktoriju C: \ ProgramData \ ssh (direktorij je stvoren nakon prvog pokretanja usluge).

Prijavite se - c: \ windows \ system32 \ OpenSSH \ logs \ sshd.log

Datoteka i ključevi autorizovanih ključeva pohranjuju se u% USERPROFILE% \. Ssh \.

Saznajte više o korištenju OpenSSH-a za povezivanje sa sustavom Windows 10 / Windows Server 2019 putem sigurnog SSH tunela..

Instaliranje Win32 OpenSSH na Windows Server 2016/2012 R2

U prethodnim verzijama sustava Windows 10 i u sustavu Windows Server 2016/2012 R2 morate preuzeti i instalirati OpenSSH s GitHub-a (https://github.com/PowerShell/Win32-OpenSSH/releases). Trebamo verziju za 64-bitnu verziju sustava Windows: OpenSSH-pobjeda64.zip (3,5 Mb).

  1. Na primjer, raspakirajte sadržaj arhive u ciljni direktorij: C: \ OpenSSH-Win
  2. Pokrećemo PowerShell naredbenu liniju s administratorskim pravima i idemo u OpenSSH direktorij:CD C: \ OpenSSH-Win
  3. Dodajte put u OpenSSH imenik do varijable okoline Path;
  4. Instalirajte OpenSSH Server: .\ install-sshd.ps1 (trebala bi se pojaviti zelena poruka "sshd i ssh-agent usluge uspješno instalirane");
  5. Generiranje SSH ključeva za poslužitelj (potrebni za pokretanje sshd usluge):ssh-keygen.exe -A 
    ssh-keygen: generiranje novih glavnih ključeva: RSA DSA ECDSA ED25519

    Kada dođe do pogreške

     ssh-keygen: generiranje novih ključeva računala: RSA nije uspjelo spremiti javni ključ u __PROGRAMDATA __ \\ ssh / ssh_host_rsa_key.bxKmOcF49P: Nema takve datoteke ili mape

    , provjerite je li izrađen direktorij% programdata% \ ssh.

  6. Omogućite automatsko pokretanje SSHD usluge i pokrenite je pomoću sljedećih naredbi za upravljanje servisima PowerShell:Set-Service -Name sshd -StartupType 'Automatski'
    Start-Service sshd
  7. Pomoću PowerShell-a otvorite TCP priključak 22 u vatrozidu sustava Windows za dolazni promet na SSH poslužitelj:Novo-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
  8. Otvorite konfiguracijsku datoteku "C: \ ProgramData \ SSH \ sshd_config" u bilo kojem uređivaču teksta, pronađite i provjerite vrijednost direktive Podsistem sftp. Ovdje treba navesti datoteku. SFTP-server.exe. Razmotrite korisne smjernice u konfiguracijskoj datoteci sshd_config:
    AllowGroups corp \ admingroup # dopušta pristup OpenSSH-u samo korisnicima iz ove grupe AuthenticationMethods lozinka # omogućivanje provjere lozinke (SSH ključevi se ne mogu koristiti) ForceCommand Internal-sftp # ChrootDirectory C: \ inetpub \ wwwroot \ ftpfolder # zadani direktorij za korisnike SFTP-a 

Ispitivanje SFTP veze pomoću WinSCP

Pokušajmo se povezati na SSH poslužitelj koji smo podigli pomoću SFTP protokola. U ove svrhe koristit ćemo besplatnog klijenta WinSCP.

U prozoru postavki veze odaberite protokol za prijenos datoteka SFTP, navedite naziv poslužitelja i podatke Windows računa pod kojim je veza uspostavljena (moguće je konfigurirati i autorizaciju ključa).Kad se prvi put povežete, pojavit će se prozor s upozorenjem da ključ glavnog računala nije u lokalnoj predmemoriji.

Ako je sve ispravno konfigurirano, klijent se mora povezati na SFTP poslužitelj i prikazati popis datoteka u korisničkom direktoriju (prema zadanom direktoriju s korisničkim profilom).

Pomoću poznatog sučelja upravitelja datoteka možete sigurno kopirati datoteke između poslužitelja i klijenta. Datoteke će se prenijeti pomoću sigurnog SFTP protokola.

Uklanjanje usluge Win32 OpenSSH

Da biste ispravno uklonili Win32 OpenSSH uslugu iz sustava:

  1. Otvorite upravljačku konzolu Powershell-a
  2. Zaustavite SSHD uslugu:Stop-Service sshd
  3. Uklonite OpenSSD uslugu: uklonite tipke:.\ uninstall-sshlsa.ps1
    sshd uspješno deinstaliran ssh-agent uspješno je deinstaliran