Instalacija, testiranje i deinstalacija SFTP poslužitelja temeljenog na OpenSSH-u u Windowsu | INTROSERV
EUR
european

EUR

usa

USD

Croatia Hr
Ex. VAT Ex. VAT 0%

Instalacija, testiranje i deinstalacija SFTP poslužitelja temeljenog na OpenSSH-u u Windowsu

Ovaj vodič odnosi se na Windows Server 2019, 2022 i 2025, koji uključuju OpenSSH Server kao ugrađenu opcionalnu značajku. Nije potrebno preuzimanje treće strane.

Vodič korak po korak

Instalacija značajke OpenSSH Server

1. Pokrenite PowerShell kao administrator: Start, upišite "PowerShell" → desni klik na "PowerShell" → Pokreni kao administrator.

2. Provjerite je li značajka OpenSSH Servera već instalirana:

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*' | Select-Object Name, State

Checking whether the OpenSSH Server feature is installed

Tip

Ovdje su navedeni i OpenSSH.Client i OpenSSH.Server. Obavezno provjerite stanje OpenSSH.Server, jer klijentska komponenta možda je već instalirana i ovaj vodič je ne pokriva.

Ako OpenSSH.Server prikazuje stanje: NotPresent, instalirajte ga:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Installing the OpenSSH Server feature in PowerShell

Warning

Windows instalira ugrađenu značajku OpenSSH Servera u C:\Windows\System32\OpenSSH\. Nemojte ručno instalirati OpenSSH izravno u C:\Windows, jer to krši konvencije Windows direktorija i može uzrokovati probleme s dozvolama.

3. Pokrenite uslugu sshd i postavite je da se pokreće automatski:

Start-Service sshd Set-Service -Name sshd -StartupType 'Automatic'

4. Provjerite radi li usluga:

Get-Service sshd

OpenSSH sshd service status showing Running

U polju Status trebala bi pisati Pokrenuto. Također provjerite je li tip pokretanja postavljen na Automatski:

Get-CimInstance Win32_Service -Filter "Name='sshd'" | Select-Object StartMode

sshd service StartMode showing Auto

5. Provjerite lokaciju instalirane OpenSSH binarne datoteke i informacije o verziji:

Get-Command sshd | Select-Object Source (Get-Command sshd).FileVersionInfo

sshd binary path and version information

Polje Izvor potvrđuje da se putanja instalacije podudara s C:\Windows\System32\OpenSSH\sshd.exe; FileVersionInfo prikazuje verziju OpenSSH-a (na primjer, OpenSSH_8.1p1, FileVersion 8.1.0.1 na Windows Serveru 2022).

Otvaranje porta vatrozida

Zadano, instalacija značajke OpenSSH Servera obično automatski stvara pravilo vatrozida za dolazni promet nazvano OpenSSH-Server-In-TCP. Potvrdite da ono postoji i da je omogućeno:

Get-NetFirewallRule -Name *OpenSSH-Server*

OpenSSH inbound firewall rule enabled

Ako pravilo nedostaje, stvorite ga ručno (obratite pozornost na drugačiji naziv pravila, ovo ručno stvoreno pravilo odvojeno je od automatski generiranog pravila OpenSSH-Server-In-TCP ):

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

Provjerite je li port doista otvoren i sluša li:

Test-NetConnection -ComputerName localhost -Port 22

Test-NetConnection to port 22 succeeded

Rezultat TcpTestSucceeded : True potvrđuje da usluga sluša lokalno. To ne potvrđuje da vatrozid propušta promet izvana, za potpunu provjeru pokrenite istu naredbu s drugog računala u mreži, zamijenivši localhost IP adresom poslužitelja.

Konfiguriranje sshd_config za SFTP

Konfiguracijska datoteka nalazi se na:

C:\ProgramData\ssh\sshd_config

Otvorite ga u uređivaču teksta s administratorskim pravima (na primjer, Notepad pokrenut kao administrator) i provjerite jesu li sljedeće postavke prisutne (ili konfigurirane prema potrebi):

Port 22 PasswordAuthentication yes Subsystem sftp sftp-server.exe

sshd_config Subsystem sftp line

Info

Ovdje je prikazano'PasswordAuthentication yes' kako bi ovaj vodič bio jednostavan, ali za produkcijski poslužitelj izložen internetu, autentifikacija na temelju ključa s postavkom 'PasswordAuthentication no' sigurniji je izbor. Pogledajte opcionalnu postavku 'AuthorizedKeysFile' u nastavku ako planirate koristiti autentifikaciju na temelju ključa.

Warning

Redak Subsystem sftp definira koji binarni program rukuje SFTP sesijama. Bez ovog retka, odnosno bez da je on nekomentiran, SSH veze će raditi, ali prijenos datoteka pomoću SFTP-a neće uspjeti.

Zadano je ova linija već prisutna i nije komentirana u konfiguracijskoj datoteci ugrađene značajke. Ako nedostaje ili je komentirana znakom #, dodajte je ili je odkomentirajte, a zatim spremite datoteku.

Info

Novije verzije OpenSSH-a također podržavaju Subsystem sftp internal-sftp, ugrađeni rukovatelj koji ne poziva vanjsku binarnu datoteku:

Subsystem sftp internal-sftp

Radi i sftp-server.exe i internal-sftp; ovaj vodič koristi sftp-server.exe jer je to vrijednost koja se isporučuje prema zadanim postavkama.

Dodatne postavke koje biste također mogli željeti u sshd_config:

# Default value, already set; shown here for reference if key-based authentication isn't working # AuthorizedKeysFile .ssh/authorized_keys # Restrict access to specific users (optional) # AllowUsers username1 username2 # Logging SyslogFacility LOCAL0 LogLevel INFO

Info

Za račune koji su članovi lokalne grupe Administratori, Windows port OpenSSH-a koristi drugu datoteku: C:\ProgramData\ssh\administrators_authorized_keys, a ne .ssh\authorized_keys u korisničkom profilu. Ako autentifikacija na temelju ključa za administratorski račun ne radi kako se očekuje, provjerite ovu datoteku.

Nakon bilo kakve izmjene u sshd_config, ponovno pokrenite uslugu kako bi se promjene primijenile:

Restart-Service sshd

Provjera SFTP veze pomoću WinSCP-a

Instalirajte i pokrenite besplatni klijent WinSCP. U prozoru za postavke veze odaberite SFTP protokol za prijenos datoteka, unesite naziv domaćina ili IP adresu poslužitelja u polje Naziv domaćina, ostavite polje Broj luke na 22 (osim ako niste konfigurirali drugu luku) i unesite vjerodajnice Windows računa s kojim se povezujete.

WinSCP login window with SFTP protocol selected

Ako je sve ispravno postavljeno, klijent se povezuje sa SFTP poslužiteljem i prikazuje sadržaj korisnikove početne mape (zadane mape profila). Prema zadanim postavkama, korisnik se nalazi u mapi C:\Users\<korisničko ime>. Datoteke se zatim mogu sigurno prenositi između poslužitelja i klijenta putem SFTP protokola.

WinSCP connected to the SFTP server showing the home directory

Deinstaliranje značajke OpenSSH Server

1. Pokrenite PowerShell kao administrator.

2. Zaustavite uslugu sshd prije uklanjanja značajke, jer njezino uklanjanje dok je usluga još uvijek pokrenuta ili u aktivnoj upotrebi može ne uspjeti ili dovesti do zaglavljivanja sustava:

Stop-Service sshd

3. Uklonite značajku:

Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

4. (Po želji) Uklonite pravilo vatrozida. Ovo se odnosi i na automatski stvoreno pravilo i na ručno stvoreno, ako postoje:

Remove-NetFirewallRule -Name OpenSSH-Server-In-TCP -ErrorAction SilentlyContinue Remove-NetFirewallRule -DisplayName 'OpenSSH Server (sshd)' -ErrorAction SilentlyContinue

5. (Opcionalno) Uklanjanje konfiguracije: možete ukloniti samo datoteku s konfiguracijom ili obaviti potpuno čišćenje, uključujući host ključeve.

Da biste uklonili samo sshd_config bez diranja host ključeva:

Remove-Item -Path 'C:\ProgramData\ssh\sshd_config' -Force

Za potpuno čišćenje, uključujući host ključeve, umjesto toga uklonite cijelu mapu konfiguracije:

Remove-Item -Path 'C:\ProgramData\ssh' -Recurse -Force

Warning

Kloniranje cijelog direktorija također trajno briše host ključeve poslužitelja. Klijenti koji se povežu nakon ponovne instalacije tretirat će poslužitelj kao novog, neprepoznatog SSH poslužitelja. Ovo učinite samo ako ne planirate kasnije ponovno instalirati OpenSSH Server s istom konfiguracijom.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA