Mulle on alati murettekitav olnud ühendamine Windows masinatega. Ei, ma ei ole Microsofti ja nende toodete vastane ega toetaja. Iga toode eksisteerib oma eesmärgi nimel, kuid see pole teema.
Minu jaoks on alati valus olnud ühenduda Windows serveritega, sest need ühendused kas seadistatakse keeruliselt (tervist WinRM HTTPS-iga) või ei toimi eriti stabiilselt (tere tulemast RDP virtuaalmasinatele ookeani taga).
Seetõttu, kui komistasin projekti peale , otsustasin jagada seadistamise kogemust. Võib-olla aitab see tööriist kellelgi säästa närve.

Paigaldamise võimalused:
- Waylandi protokollide kaudu Chocolatey
- Näiteks Ansible'i kaudu, roll
Edasi räägin esimesest punktist, kuna ülejäänud on enam-vähem arusaadavad.
Tähtis märkida, et see projekt on hetkel beetastaadiumis, seega ei soovitata seda kasutada tootmises.
Nii et laadime alla viimane versioon, praegu on see . On olemas versioonid nii 32- kui 64-bitiste süsteemide jaoks.
Pakkime lahti C:Program FilesOpenSSH
Tähtis hetk korraliku töö tagamiseks: selle kausta kirjutamisõigus peab olema ainult SYSTEM ja haldurigruppidel.
Paigaldame teenused skriptiga install-sshd.ps1 mille leidmine on selles kaustas
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1Lubame sissetulevad ühendused 22. pordile:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22Selgitus: applet New-NetFirewallRule kasutatakse Windows Server 2012 ja uuemates. Vanemates süsteemides (kas desktopidel) võib kasutada käsku:
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
Käivitame teenuse:
net start sshdKäivitamisel genereeritakse automaatselt hosti võtmed (kui neid ei ole) kaustas %programdata%ssh
Teenuse automaatne käivitamine süsteemi käivitamisel saab lubada käsuga:
Set-Service sshd -StartupType AutomaticSamuti on võimalik muuta vaikimisi käsurida (pärast paigaldust, vaikimisi — cmd):
New-ItemProperty -Path "HKLM:SOFTWAREOpenSSH" -Name DefaultShell -Value "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe" -PropertyType String -ForceSelgitus: Absoluutne tee on vajalik.
Mis edasi?
Ja edasi seadistame vormingus, mis asub kaustas C:ProgramDatassh. Näiteks:
PasswordAuthentication no
PubkeyAuthentication yesJa loome kasutaja kaustas kausta .ssh, ja seal faili authorized_keys. Kirjutame sinna avalikud võtmed.
Oluline märkida: selle faili kirjutamisõigus peab olema ainult selle kasutaja käes, kelle kaustas see fail asub.
Aga kui teil on sellega probleeme, saate alati konfiguratsioonis õiguste kontrolli välja lülitada:
StrictModes noMuide, C:Program FilesOpenSSH on olemas kaks skripti (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), mis peaksid, kuid ei pea, õigusi parandama, sealhulgas ka authorized_keys, kuid mingil põhjusel ei paranda.
Ärge unustage teenust taaskäivitada sshd muudatuste rakendamiseks.
ru-mbp-666:infrastructure$ ssh Administrator@192.168.1.10 -i ~/.ssh/id_rsa
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. Kõik õigused kaitstud.
PS C:UsersAdministrator> Get-Host
Name : ConsoleHost
Version : 5.1.14393.2791
InstanceId : 653210bd-6f58-445e-80a0-66f66666f6f6
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : en-US
CurrentUICulture : en-US
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled : True
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
PS C:UsersAdministrator>Subjektiivsed plussid/miinused.
Plussid:
- Standardne lähenemine serverite ühendamiseks.
Kui on mõni Windows masin, on väga ebamugav, kui:
Nii et siia me ühendame ssh, aga sinna rdp,
ja üldiselt parim praktika bastionitega, esmalt ssh tunnel ja siis RDP selle kaudu. - Seadistamise lihtsus
Arvan, et see on ilmne. - Ühenduse ja kaugmasinaga töötamise kiirus
Graafiline liides puudub, säästetakse nii serveri ressursse kui ka edastatavate andmete hulka.
Miinused:
- Ei asenda RDP täielikult.
Kõike ei saa konsoolist teha, kahjuks. Pean silmas olukordi, kus on vajalik GUI.
Artiklis kasutatud materjalid:
Installeerimise variandid on lubamatult kopeeritud .
Allikas: habr.com
