openssh

Počínaje 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, jak nainstalovat a konfigurovat server OpenSSH v systému Windows 10 a připojit se k němu vzdáleně pomocí zabezpečeného protokolu SSH (dobře, stejně jako v systému Linux 🙂).

Server OpenSSH můžete nainstalovat v předchozích verzích systému Windows, ale pro tento účel musíte stáhnout a nainstalovat port OpenSSH pro win32 z GitHubu. - Win32-OpenSSH (https://github.com/powershell/Win32-OpenSSH). Příklad instalace a konfigurace Win32-OpenSSH je v článku „Instalace a konfigurace SFTP serveru (SSH FTP) ve Windows“.

Obsah:

  • Instalace serveru OpenSSH na Windows
  • Nastavení serveru SSH ve Windows
  • Sshd_config: Konfigurační soubor serveru OpenSSH
  • Připojte se k Windows 10 přes SSH

Instalace serveru OpenSSH na Windows

Podívejme se, jak nainstalovat součást OpenSSH Server ve Windows 10 1903 (Windows Server 2019 to samé).

OpenSSH (jako RSAT) je již součástí těchto verzí Windows jako Feature on Demand (FoD).

Pokud máte přímé připojení k internetu, můžete nainstalovat server OpenSSH pomocí prostředí PowerShell

Přizpůsobitelnost systému Windows -Online -Name OpenSSH.Server *

Nebo pomocí DISM:

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

Ve Windows 10 lze tuto součást nainstalovat také pomocí panelu Možnosti (Aplikace -> Správa dalších součástí -> Přidat součást). Najděte v seznamu Otevřete ssh server a stiskněte tlačítko Nainstalovat).

Chcete-li ověřit, zda je nainstalován server OpenSSH, spusťte:
Získejte Windows-přizpůsobitelnost -Online | ? Název „OpenSSH.Ser *“

Stav: Nainstalován

Nastavení serveru SSH ve Windows

Po zaregistrovaném serveru OpenSSH v systému Windows je třeba změnit typ spuštění služby sshd automaticky a spustit službu pomocí PowerShell:

Set-Service - Jméno sshd - StartartType 'Automatic'
Start-Service sshd

Pomocí nestatu se ujistěte, že server SSH je nyní spuštěn v systému a čeká na připojení na portu 22:

netstat -na | najít ": 22"

Ověřte, zda je povoleno pravidlo brány Firewall systému Windows Defender, které umožňuje příchozí připojení k systému Windows prostřednictvím protokolu TCP / 22.

Get-NetFirewallRule - Jméno * OpenSSH-Server * | vyberte Jméno, Zobrazovaný Jméno, Popis, Povoleno

Název DisplayName Popis Povoleno ---- ----------- ----------- ------- OpenSSH-Server-In-TCP OpenSSH SSH Server (sshd) Pravidlo příchozí pro server OpenSSH SSH (sshd) True

Pokud je pravidlo zakázáno (Enabled = False) nebo chybí, můžete pomocí příkazu New-NetFirewallRule vytvořit nové příchozí pravidlo:

New-NetFirewallRule - Jméno sshd - DisplayName 'OpenSSH Server (sshd)' - Povoleno True - Přesměrování příchozí - Protokol TCP - Povolení akce -LocalPort 22

Ve výchozím nastavení jsou důležité součásti OpenSSH ukládány do následujících adresářů:

  • Spustitelné soubory serveru OpenSSH: C: \ Windows \ System32 \ OpenSSH \
  • Konfigurační soubor Sshd_config (vytvořený po prvním spuštění služby): C: \ ProgramData \ ssh
  • OpenSSH Magazine: C: \ windows \ system32 \ OpenSSH \ logs \ sshd.log
  • Soubor a klíče Authorized_keys: % USERPROFILE% \. Ssh \

Při instalaci serveru OpenSSH v systému se vytvoří nový lokální uživatel sshd.

Sshd_config: Konfigurační soubor serveru OpenSSH

Nastavení serveru OpenSSH můžete změnit v konfiguračním souboru% programdata% \ ssh \sshd_config.

Chcete-li například zakázat připojení SSH konkrétnímu uživateli domény (a všem uživatelům zadané domény), přidejte na konec souboru následující příkazy:

DenyUsers winitpro \ [email protected] DenyUsers corp \ *

Povolení připojení pouze pro určitou skupinu domén:

AllowGroups winitpro \ sshadmins

Nebo můžete povolit přístup pro místní skupinu:

AllowGroups sshadmins

Je možné zakázat přihlášení pod účty s právy správce, v tomto případě provádět privilegované akce v relaci SSH, musíte udělat runy.

Správci denyskupin

Následující směrnice umožňují SSH přístup klíčem (přístup do Windows přes SSH klíčem bude podrobně rozebrán v dalším článku) a heslo:

PubkeyAuthentication yes PasswordAuthentication yes

V konfiguračním souboru sshd_config ve směrnici Port můžete změnit port, na kterém přijímá připojení OpenSSH..

Po jakékoli změně konfiguračního souboru sshd_config je třeba restartovat služby sshd:

restart-service sshd

Připojte se k Windows 10 přes SSH

Nyní se můžete pokusit připojit k vašemu Windows 10 pomocí SSH klienta (používám tmel, ale mohu použít vestavěný ssh klient Windows).

Při prvním připojení se zobrazí standardní požadavek na přidání hostitele do seznamu známých hostitelů SSH.

Klepněte na tlačítko Ano a v otevřeném okně se přihlaste jako uživatel systému Windows.

Po úspěšném připojení se příkazový shell cmd.exe spustí s výzvou.

admin @ win10tst C: \ Users \ admin>

Na příkazovém řádku můžete provádět různé příkazy, spouštět skripty a programy.

Raději pracuji na příkazovém řádku PowerShell. Chcete-li spustit tlumočník PowerShell, spusťte:

powershell.exe

Chcete-li změnit výchozí prostředí v OpenSSH z cmd.exe na PowerShell, proveďte změnu v registru pomocí tohoto příkazu:

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

Zbývá restartovat připojení SSH a ujistit se, že se během připojení používá prostředí PowerShell (to je uvedeno v pozvánce) PS C: \ Users \ admin>).

V relaci SSH byla spuštěna konzola PowerShell, ve které fungují obvyklé funkce: automatické doplňování, barvení modulem PSReadLine, historie příkazů atd. Pokud je aktuální uživatel členem místní skupiny administrátorů, budou všechny příkazy v jeho relaci spuštěny se zvýšenými právy, i když je povoleno UAC.