openssh

Počnúc Windows 10 1809 a Windows Server 2019 má operačný systém integrovaný server SSH založený na OpenSSH. V tomto článku si ukážeme, ako nainštalovať a nakonfigurovať server OpenSSH v systéme Windows 10 a pripojiť sa k nemu vzdialene pomocou zabezpečeného protokolu SSH (dobre, rovnako ako v systéme Linux 🙂)..

Server OpenSSH môžete nainštalovať v predchádzajúcich verziách systému Windows, ale na tento účel musíte stiahnuť a nainštalovať port OpenSSH pre win32 z GitHub. - Win32 OpenSSH (Https://github.com/powershell/Win32-OpenSSH). Príklad inštalácie a konfigurácie Win32-OpenSSH je v článku „Inštalácia a konfigurácia servera SFTP (SSH FTP) v systéme Windows“..

obsah:

  • Inštalácia servera OpenSSH na Windows
  • Nastavenie servera SSH v systéme Windows
  • Sshd_config: Konfiguračný súbor servera OpenSSH
  • Pripojte sa k Windows 10 cez SSH

Inštalácia servera OpenSSH na Windows

Pozrime sa, ako nainštalovať súčasť OpenSSH Server v systéme Windows 10 1903 (systém Windows Server 2019 to isté).

OpenSSH (ako RSAT) je už súčasťou týchto verzií Windows ako Feature on Demand (FoD).

Ak máte priame pripojenie k internetu, môžete nainštalovať server OpenSSH pomocou programu PowerShell

Prispôsobiteľnosť systému Windows -Online -Name OpenSSH.Server *

Alebo pomocou DISM:

dism / Online / Add-Capability /CapabilityName:OpenSSH.Server~~.0.0.0.0

V systéme Windows 10 sa tento komponent dá nainštalovať aj cez panel Možnosti (Aplikácie -> Spravovať ďalšie komponenty -> Pridať komponent). Nájdite v zozname Otvorte ssh server a stlačte tlačidlo inštalovať).

Ak chcete overiť, či je nainštalovaný server OpenSSH, spustite:
Get-WindowsCapability -Online | ? Meno podobné OpenSSH.Ser *

Stav: Nainštalované

Nastavenie servera SSH v systéme Windows

Po registrovanom serveri OpenSSH v systéme Windows musíte zmeniť typ spustenia služby sshd automaticky a spustiť službu pomocou PowerShell:

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

Pomocou nestatu sa uistite, že server SSH je teraz spustený v systéme a čaká na pripojenia na porte 22:

netstat -na | nájsť ": 22"

Skontrolujte, či je povolené pravidlo brány firewall systému Windows Defender, ktoré umožňuje prichádzajúce pripojenia k systému Windows prostredníctvom protokolu TCP / 22.

Get-NetFirewallRule - meno * OpenSSH-Server * | vyberte meno, zobrazovaný názov, popis, povolený

Názov Zobrazovaný názov Popis Povolené ---- ----------- ----------- ------- OpenSSH-Server-In-TCP OpenSSH SSH Server (sshd) Pravidlo prichádzajúce pre server OpenSSH SSH (sshd) True

Ak je pravidlo zakázané (Enabled = False) alebo chýba, môžete pomocou príkazu New-NetFirewallRule vytvoriť nové prichádzajúce pravidlo:

New-NetFirewallRule - meno sshd -DisplayName 'OpenSSH Server (sshd)' - Povolené True - Presmerovanie prichádzajúce - Protokol TCP - Povolenie akcie -LocalPort 22

V predvolenom nastavení sú dôležité súčasti OpenSSH uložené v nasledujúcich adresároch:

  • Spustiteľné súbory servera OpenSSH: C: \ Windows \ System32 \ OpenSSH \
  • Konfiguračný súbor Sshd_config (vytvorený po prvom spustení služby): C: \ ProgramData \ ssh
  • Časopis OpenSSH: C: \ windows \ system32 \ OpenSSH \ logs \ sshd.log
  • Súbor a kľúče autorizovaného_kľúča: % USERPROFILE% \. Ssh \

Pri inštalácii servera OpenSSH do systému sa vytvorí nový lokálny užívateľ sshd.

Sshd_config: Konfiguračný súbor servera OpenSSH

Nastavenia servera OpenSSH môžete zmeniť v konfiguračnom súbore% programdata% \ ssh \sshd_config.

Napríklad, ak chcete zakázať pripojenie SSH konkrétnemu užívateľovi domény (a všetkým používateľom zadanej domény), pridajte na koniec súboru nasledujúce smernice:

DenyUsers winitpro \ [email protected] DenyUsers corp \ *

Povolenie pripojenia iba pre konkrétnu skupinu domén:

AllowGroups winitpro \ sshadmins

Alebo môžete povoliť prístup pre miestnu skupinu:

AllowGroups sshadmins

Je možné zakázať prihlásenie pod účtami s právami správcu, v tomto prípade vykonávať privilegované akcie v relácii SSH, musíte urobiť runy.

Správcovia denyskupín

Nasledujúce smernice povoľujú prístup k SSH kľúčom (prístup do Windows prostredníctvom SSH kľúčom bude podrobnejšie opísaný v ďalšom článku) a heslo:

PubkeyAuthentication yes HesloAuthentication yes

V konfiguračnom súbore sshd_config v smernici o portoch môžete zmeniť port, na ktorom prijíma pripojenia OpenSSH..

Po akýchkoľvek zmenách konfiguračného súboru sshd_config je potrebné reštartovať služby sshd:

sshd reštartu služby

Pripojte sa k Windows 10 cez SSH

Teraz sa môžete pokúsiť o pripojenie k vášmu systému Windows 10 prostredníctvom klienta SSH (používam tmel, ale môžem používať vstavaný klient ssh systému Windows).

Pri prvom pripojení sa zobrazí štandardná požiadavka na pridanie hostiteľa do zoznamu známych hostiteľov SSH.

Kliknite na tlačidlo Áno a v otvorenom okne sa prihláste ako používateľ systému Windows.

Po úspešnom pripojení sa príkazový riadok cmd.exe spustí.

admin @ win10tst C: \ Users \ admin>

Na príkazovom riadku môžete vykonávať rôzne príkazy, spúšťať skripty a programy.

Radšej pracujem na príkazovom riadku PowerShell. Na spustenie tlmočníka PowerShell spustite:

powershell.exe

Ak chcete zmeniť predvolené prostredie v OpenSSH z cmd.exe na PowerShell, vykonajte zmenu v registri pomocou tohto príkazu:

New-ItemProperty -Path "HKLM: \ SOFTWARE \ OpenSSH" - Názov DefaultShell -Value "C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe" -PropertyType String -Force

Zostane až do reštartovania pripojenia SSH a uistite sa, že sa počas pripojenia používa shell PowerShell (to je uvedené v pozvánke) PS C: \ Users \ admin>).

V relácii SSH bola spustená konzola PowerShell, v ktorej fungujú obvyklé funkcie: automatické dopĺňanie, vyfarbovanie modulom PSReadLine, história príkazov atď. Ak je aktuálny užívateľ členom skupiny lokálnych administrátorov, všetky príkazy v jeho relácii sa vykonajú so zvýšenými právami, aj keď je povolený UAC..