Mind alati oli Windows masinatega ühenduse loomine mulle murettekitav. Ei, ma ei ole Microsofti ja nende toodete vastane ega toetaja. Iga toode eksisteerib oma eesmärgi nimel, kuid see ei ole teema.
Mulle on alati olnud piinav ühenduda Windows serveritega, sest need ühendused kas seadistatakse keeruliselt (tere, WinRM HTTPS) või töötavad need ebastabiilselt (teretulemast RDP virtuaalmasinatele üle ookeani).
Seetõttu, juhuslikult avastades projekti , otsustasin jagada oma seadistamise kogemust. Võib-olla säästab see tööriist kellegi närve.

Paigaldusvõimalused:
- Kasutades Chocolatey
- Kasutades Ansible'i, näiteks rolli
Edasi räägin esimesest punktist, kuna ülejäänud on enam-vähem arusaadavad.
Tähtis on märkida, et see projekt on veel beetafaasis, seetõttu ei soovitata seda productionis kasutada.
Nii et, laeme alla viimase versiooni, sel hetkel on see . On olemas versioonid nii 32- kui ka 64-bitistele süsteemidele.
Pakkime lahti C:Program FilesOpenSSH
Kohustuslik punkt korrektselt toimimiseks: kirjutamisõigused selles kataloogis peavad olema ainult SYSTEM ja administraatori grupil.
Seame teenused skripti abil install-sshd.ps1 mis asub antud kaustas
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1Lubame sissetulevaid ühendusi 22. sadamasse:
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 uuemate versioonide puhul. Vanemates süsteemides (või töölaual) 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 pole) kausta %programdata%ssh
Teenuse automaatne käivitamine süsteemi käivitamisel saab lubada käsuga:
Set-Service sshd -StartupType AutomaticSamuti võib vahetada vaikimisi käsurea tõlgik (pärast installimist, vaikimisi — cmd):
New-ItemProperty -Path "HKLM:SOFTWAREOpenSSH" -Name DefaultShell -Value "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe" -PropertyType String -ForceSelgitus: tuleb määrata absoluutne tee.
Mis edasi?
Ja edasi seadistame sshd_config, mis asub kaustas C:ProgramDatassh. Näiteks:
PasswordAuthentication no
PubkeyAuthentication yesJa loome kasutaja kausta katalooge .ssh, ja sinna faili authorized_keys. Sinna kirjutame avalikud võtmed.
Oluline märkus: kirjutamisõigus sellele failile peab olema ainult kasutajal, kelle kaustas see fail asub.
Kuid kui teil on sellega probleeme, siis on alati võimalik nõuded seadetes välja lülitada:
StrictModes noMuide, kaustas C:Program FilesOpenSSH on 2 skripti (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), mis peaksid, kuid ei pruugi õigusi parandada, sealhulgas 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
Nimi : ConsoleHost
Versioon : 5.1.14393.2791
InstanceId : 653210bd-6f58-445e-80a0-66f66666f6f6
Kasutajaliides : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentlyCulture : en-US
CurrentlyUICulture : 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 serveritele ühendamiseks.
Kui on mõned Windowsi masinad, on väga ebamugav, kui:
Nii, siia me pääseme ssh kaudu, aga siin rdp,
ja üleüldiselt on parim tava bastionitega, esmalt ssh-tunnel ja selle kaudu RDP. - Lihtne seadistamine
Arvan, et see on ilmne. - Ühenduse kiirus ja kaugmasina töö
Graafilist liidest ei ole, säästetakse nii serveri ressursse kui ka edastatavaid andmeid.
Miinused:
- Ei asenda RDP täielikult.
Kahjuks ei saa kõike konsoolist teha. Ma pean silmas olukordi, kus on vajalik GUI.
Artiklis kasutatud materjalid:
Installeerimise variandid on jälgitud .
Allikas: habr.com
