Namestitev, preizkušanje in odstranitev strežnika SFTP, ki temelji na OpenSSH, v sistemu Windows | INTROSERV
EUR
european

EUR

usa

USD

Slovenia Sl
Ex. VAT Ex. VAT 0%

Namestitev, preizkušanje in odstranitev strežnika SFTP, ki temelji na OpenSSH, v sistemu Windows

Ta vodnik velja za sisteme Windows Server 2019, 2022 in 2025, ki vključujejo OpenSSH Server kot vgrajeno izbirno funkcijo. Prenos programske opreme tretjih oseb ni potreben.

Vodnik po korakih

Namestitev funkcije OpenSSH Server

1) Zaženite PowerShell kot skrbnik: Začni, vtipkajte "PowerShell" → desni klik na "PowerShell" → Zaženi kot skrbnik.

2) Preverite, ali je funkcija OpenSSH Server že nameščena:

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

Preverjanje, ali je funkcija OpenSSH Server nameščena
Opomba: Na seznamu sta navedena tako OpenSSH.Client kot OpenSSH.Server. Preverite stanje posebej za OpenSSH.Server, odjemalska komponenta je morda že nameščena in ni predmet tega vodnika.

Če OpenSSH.Server prikazuje stanje State : NotPresent, ga namestite:

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

Namestitev funkcije OpenSSH Server v programu PowerShell
Opomba: Windows namesti vgrajeno funkcijo OpenSSH Server v imenik C:\Windows\System32\OpenSSH\. OpenSSH ne nameščajte ročno neposredno v C:\Windows, to krši dogovore o imenikih sistema Windows in lahko povzroči težave z dovoljenji.

3) Zaženite storitev sshd in jo nastavite za samodejni zagon:

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

4) Preverite, ali se storitev izvaja:

Get-Service sshd

Stanje storitve sshd OpenSSH z vrednostjo Running

V polju Status bi moralo biti prikazano Running. Za dodatno potrditev, da je vrsta zagona nastavljena na Automatic:

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

StartMode storitve sshd z vrednostjo Auto

5) Preverite lokacijo nameščene binarne datoteke OpenSSH in podatke o različici:

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

Pot in podatki o različici binarne datoteke sshd

Polje Source potrjuje, da se namestitvena pot ujema s C:\Windows\System32\OpenSSH\sshd.exe; FileVersionInfo prikazuje različico OpenSSH (na primer OpenSSH_8.1p1, FileVersion 8.1.0.1 v sistemu Windows Server 2022).

Odpiranje vrat požarnega zidu

Privzeto namestitev funkcije OpenSSH Server običajno samodejno ustvari dohodno pravilo požarnega zidu z imenom OpenSSH-Server-In-TCP. Potrdite, da obstaja in je omogočeno:

Get-NetFirewallRule -Name *OpenSSH-Server*

Omogočeno dohodno pravilo požarnega zidu OpenSSH

Če pravilo manjka, ga ustvarite ročno (upoštevajte drugačno ime pravila, to ročno ustvarjeno pravilo je ločeno od samodejno ustvarjenega pravila OpenSSH-Server-In-TCP):

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

Preverite, ali so vrata dejansko odprta in poslušajo:

Test-NetConnection -ComputerName localhost -Port 22

Uspešno izvajanje Test-NetConnection na vratih 22

Rezultat TcpTestSucceeded : True potrjuje, da storitev posluša lokalno. To ne potrjuje, da požarni zid prepušča promet od zunaj, za popolno preveritev zaženite isti ukaz z drugega računalnika v omrežju in localhost zamenjajte z naslovom IP strežnika.

Konfiguracija sshd_config za SFTP

Konfiguracijska datoteka se nahaja na:

C:\ProgramData\ssh\sshd_config

Odprite jo v urejevalniku besedila s skrbniškimi pravicami (na primer Notepad, zagnan kot skrbnik) in potrdite, da so prisotne naslednje nastavitve (ali jih nastavite po potrebi):

Port 22 PasswordAuthentication yes Subsystem sftp sftp-server.exe

Vrstica Subsystem sftp v datoteki sshd_config
Varnostna opomba: PasswordAuthentication yes je tukaj prikazano za poenostavitev tega vodnika, vendar je za produkcijski strežnik, izpostavljen internetu, varnejša izbira preverjanje pristnosti s ključi z nastavitvijo PasswordAuthentication no. Če nameravate uporabljati preverjanje pristnosti s ključi, glejte izbirno nastavitev AuthorizedKeysFile spodaj.
Pomembno: Vrstica Subsystem sftp določa, katera binarna datoteka obravnava seje SFTP. Brez te prisotne in neoznačene vrstice bodo povezave SSH delovale, vendar prenos datotek SFTP ne bo uspel.

Privzeto je ta vrstica že prisotna in neoznačena v konfiguracijski datoteki vgrajene funkcije. Če manjka ali je označena z #, jo dodajte ali odstranite oznako komentarja in nato shranite datoteko.

Opomba: Novejše različice OpenSSH podpirajo tudi Subsystem sftp internal-sftp, vgrajeni obravnavalnik, ki ne kliče zunanje binarne datoteke:

Subsystem sftp internal-sftp

Delujeta tako sftp-server.exe kot internal-sftp; ta vodnik uporablja sftp-server.exe, saj je to privzeto dobavljena vrednost.

Izbirne nastavitve, ki jih morda želite vključiti tudi v sshd_config:

# Privzeta vrednost, ze nastavljena; prikazana tukaj kot referenca, ce preverjanje pristnosti s kljuci ne deluje # AuthorizedKeysFile .ssh/authorized_keys # Omejitev dostopa na dolocene uporabnike (izbirno) # AllowUsers username1 username2 # Belezenje SyslogFacility LOCAL0 LogLevel INFO

Opomba: Za račune, ki so člani lokalne skupine Administrators, prenos OpenSSH za Windows uporablja drugo datoteko: C:\ProgramData\ssh\administrators_authorized_keys, in ne .ssh\authorized_keys v profilu uporabnika. Če preverjanje pristnosti s ključi za skrbniški račun ne deluje po pričakovanjih, preverite namesto tega to datoteko.

Po vsaki spremembi datoteke sshd_config znova zaženite storitev, da jo uveljavite:

Restart-Service sshd

Preverjanje povezave SFTP s programom WinSCP

Namestite in zaženite brezplačni odjemalec WinSCP. V oknu z nastavitvami povezave izberite protokol za prenos datotek SFTP, vnesite ime gostitelja ali naslov IP strežnika v polje Host name, pustite polje Port number na vrednosti 22 (razen če ste nastavili druga vrata) in vnesite poverilnice računa Windows, s katerim se povezujete.

Prijavno okno WinSCP z izbranim protokolom SFTP

Če je vse pravilno nastavljeno, se odjemalec poveže s strežnikom SFTP in prikaže vsebino domačega imenika uporabnika (privzetega imenika profila). Privzeto uporabnik pristane v C:\Users\<username>. Datoteke je nato mogoče varno prenašati med strežnikom in odjemalcem prek protokola SFTP.

WinSCP, povezan s strežnikom SFTP, prikazuje domači imenik

Odstranitev funkcije OpenSSH Server

1) Zaženite PowerShell kot skrbnik.

2) Pred odstranitvijo funkcije ustavite storitev sshd, odstranjevanje med izvajanjem ali aktivno uporabo storitve lahko ne uspe ali obtiči:

Stop-Service sshd

3) Odstranite funkcijo:

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

4) (Izbirno) Odstranite pravilo požarnega zidu. To zajema tako samodejno ustvarjeno kot ročno ustvarjeno pravilo, če katero koli obstaja:

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

5) (Izbirno) Odstranjevanje konfiguracije: odstranite lahko samo konfiguracijsko datoteko ali izvedete popolno čiščenje, vključno s ključi gostitelja.

Za odstranitev samo datoteke sshd_config brez poseganja v ključe gostitelja:

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

Za popolno čiščenje, vključno s ključi gostitelja, namesto tega odstranite celotno mapo konfiguracije:

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

Opozorilo: Z odstranitvijo celotne mape se trajno izbrišejo tudi ključi gostitelja strežnika. Odjemalci, ki se povežejo po ponovni namestitvi, bodo strežnik obravnavali kot nov, neprepoznan gostitelj SSH. To storite samo, če ne nameravate pozneje znova namestiti OpenSSH Server z isto konfiguracijo.

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