Namestitev, testiranje in odstranitev SFTP-strežnika na podlagi OpenSSH v sistemu Windows | INTROSERV
EUR
european

EUR

usa

USD

Slovenia Sl
Ex. VAT Ex. VAT 0%

Namestitev, testiranje in odstranitev SFTP-strežnika na podlagi OpenSSH v sistemu Windows

Ta navodila veljajo za sisteme Windows Server 2019, 2022 in 2025, ki vključujejo strežnik OpenSSH kot vgrajeno izbirno funkcijo. Prenos programske opreme tretjih ponudnikov ni potreben.

Namestitev funkcije OpenSSH Server

1. Zaženite PowerShell kot skrbnik: Start, vpišite»PowerShell« → desni klik na»PowerShell« → Zaženi kot skrbnik.

2. Preverite, ali je funkcija strežnika OpenSSH že nameščena:

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

Checking whether the OpenSSH Server feature is installed

Tip

Na seznamu sta navedena tako OpenSSH.Client kot OpenSSH.Server. Preverite zlasti stanje OpenSSH.Server, saj je odjemalska komponenta morda že nameščena in ta vodnik je ne obravnava.

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

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

Installing the OpenSSH Server feature in PowerShell

Warning

Windows vgrajeno funkcijo OpenSSH Server namesti v mapo C:\Windows\System32\OpenSSH\. Ne nameščajte OpenSSH ročno neposredno v mapo C:\Windows, saj to krši konvencije imenikov sistema Windows in lahko povzroči težave z dovoljenji.

3. Zaženite storitev sshd in jo nastavite, da se zažene samodejno:

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

4. Preverite, ali storitev deluje:

Get-Service sshd

OpenSSH sshd service status showing Running

V polju Status (Stanje) mora biti prikazano Running(Teče). Preverite tudi, ali je vrsta zagona nastavljena na Automatic (Samodejno):

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

sshd service StartMode showing Auto

5. Preverite lokacijo nameščenega izvedljivega datoteka OpenSSH in podatke o različici:

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

sshd binary path and version information

Polje »Source« potrjuje, da se pot namestitve 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 se ob namestitvi funkcije »OpenSSH Server« običajno samodejno ustvari pravilo za vhodni promet v požarnem zidu z imenom »OpenSSH-Server-In-TCP «. Preverite, ali obstaja in ali je omogočeno:

Get-NetFirewallRule -Name *OpenSSH-Server*

OpenSSH inbound firewall rule enabled

Č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 je vrata dejansko odprta in poslušajo:

Test-NetConnection -ComputerName localhost -Port 22

Test-NetConnection to port 22 succeeded

Rezultat TcpTestSucceeded : True potrjuje, da storitev posluša lokalno. To še ne pomeni, da požarni zid prepušča promet iz zunanjega omrežja; za popolno preverjanje izvedite isti ukaz z drugega računalnika v omrežju, pri čemer nadomestite localhost z IP-naslovom strežnika.

Nastavitev datoteke sshd_config za SFTP

Konfiguracijska datoteka se nahaja na:

C:\ProgramData\ssh\sshd_config

Odprite jo v urejevalniku besedil z upraviteljskimi pravicami (na primer v programu Notepad, ki ga zaženete kot skrbnik) in preverite, ali so navedene naslednje nastavitve (ali so nastavljene po potrebi):

Port 22 PasswordAuthentication yes Subsystem sftp sftp-server.exe

sshd_config Subsystem sftp line

Info

PasswordAuthentication yes je tukaj prikazano zaradi poenostavitve tega vodnika, vendar je za produkcijski strežnik, izpostavljen internetu, avtentifikacija na podlagi ključa z nastavitv ijo PasswordAuthentication no varnejša izbira. Če nameravate uporabljati avtentifikacijo na podlagi ključa, si oglejte spodnjo izbirno nastavitev AuthorizedKeysFile.

Warning

Vrstica »Subsystem sftp« določa, kateri binarni program upravlja s seansami SFTP. Če ta vrstica ni prisotna ali ni odkomentirana, bodo povezave SSH delovale, prenos datotek prek SFTP pa bo spodletel.

Privzeto je ta vrstica že prisotna in nekomentirana v konfiguracijski datoteki vgrajene funkcije. Če manjka ali je komentirana z znakom #, jo dodajte ali odstranite komentar, nato pa shranite datoteko.

Info

Novejše različice OpenSSH podpirajo tudi »Subsystem sftp internal-sftp«, vgrajeni program, ki ne kliče zunanjega izvedljivega programa:

Subsystem sftp internal-sftp

Deluje tako sftp-server.exe kot internal-sftp; v tem vodniku uporabljamo sftp-server.exe, saj je to privzeta vrednost.

Izbirne nastavitve, ki jih morda želite vključiti v 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, ki so člani lokalne skupine Administrators, različica OpenSSH za Windows uporablja drugo datoteko: C:\ProgramData\ssh\administrators_authorized_keys, ne pa .ssh\authorized_keys v uporabniškem profilu. Če avtentifikacija na podlagi ključa za skrbniški račun ne deluje, kot bi morala, preverite raje to datoteko.

Po vsaki spremembi v datoteki sshd_config ponovno zaženite storitev, da se spremembe uporabijo:

Restart-Service sshd

Preverjanje povezave SFTP z uporabo WinSCP

Namestite in zaženite brezplačni odjemalec WinSCP. V oknu nastavitev povezave izberite protokol za prenos datotek SFTP, v polje Ime gostitelja vnesite ime gostitelja ali IP-naslov strežnika, v polju Številka vrat pustite vrednost 22 (razen če niste nastavili drugega vrat) in vnesite poverilnice računa Windows, s katerim se povezujete.

WinSCP login window with SFTP protocol selected

Če je vse pravilno nastavljeno, se odjemalec poveže s strežnikom SFTP in prikaže vsebino domačega imenika uporabnika (privzeti imenik profila). Privzeto se uporabnik znajde v imeniku C:\Users\<ime uporabnika>. Datoteke se nato lahko varno prenašajo med strežnikom in odjemalcem prek protokola SFTP.

WinSCP connected to the SFTP server showing the home directory

Odstranjevanje funkcije OpenSSH Server

1. Zaženite PowerShell kot skrbnik.

2. Pred odstranitvijo funkcije ustavite storitev sshd, saj lahko odstranitev, medtem ko storitev še vedno teče ali je v aktivni rabi, povzroči napako ali zamrznitev sistema:

Stop-Service sshd

3. Odstranite funkcijo:

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

4. (Neobvezno) Odstranite pravilo požarnega zidu. To velja tako za samodejno ustvarjeno pravilo kot za ročno ustvarjeno, če katero od njiju obstaja:

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

5. (Neobvezno) Odstranjevanje konfiguracije: lahko odstranite samo konfiguracijsko datoteko ali pa opravite popolno čiščenje, vključno s ključi gostiteljev.

Če želite odstraniti le sshd_config, ne da bi posegali v ključe gostiteljev:

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

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

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

Warning

Odstranitev celotne mape trajno izbriše tudi gostiteljske ključe strežnika. Odjemalci, ki se po ponovni namestitvi povežejo, bodo strežnik obravnavali kot novega, neprepoznanega SSH-gostitelja. To storite le, če ne nameravate kasneje ponovno namestiti strežnika OpenSSH 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