MĂ« ka shqetĂ«suar gjithmonĂ« lidhja me makinat Windows. Jo, nuk jam kundĂ«r dhe as pĂ«rkrahĂ«s i Microsoft dhe produkteve tĂ« tyre. Ădo produkt ekziston pĂ«r njĂ« qĂ«llim tĂ« caktuar, por kjo nuk Ă«shtĂ« çështja.
Për mua ka qenë gjithmonë një dhimbje e madhe të lidhem me serverat Windows, sepse këto lidhje ndërtohen ose përmes një kanali të ndërlikuar (përshëndetje WinRM me HTTPS) ose funksionojnë jo shumë stabilisht (përshëndetje RDP me makinat virtuale përtej oqeanit).
Prandaj, duke u përballur rastësisht me projektin , vendosa të ndaj përvojën time në konfigurimin e tij. Ndoshta kjo vegël do t'i kursejë shumë nerva dikujt.

Opsionet e instalimit:
- Përmes Chocolatey
- Përmes Ansible, për shembull roli
Më pas do të flas për pika të parë, pasi me të tjerat gjithçka është më shumë-më pak e qartë.
Dua të theksoj se ky projekt aktualisht ndodhet në fazën beta, prandaj nuk rekomandohet për t'u përdorur në prodhim.
Kështu, shkarkohet publikimi më i fundit, për momentin ky është . Ka versione për sisteme 32 dhe 64 bit.
Shkëputni në C:Program FilesOpenSSH
Një pikë e rëndësishme për funksionimin e saktë: të drejtat për të shkruar në këtë direktori duhet të jenë vetëm për SYSTEM dhe grupin e administratorëve.
Instaloni shërbimet me skriptin install-sshd.ps1 ndod ndod ndod
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1Lejojmë lidhjet hyrëse në portin 22:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22Sqarim: applet New-NetFirewallRule përdoret në Windows Server 2012 dhe më të reja. Në sistemet më të vjetra (ose desktop) mund të përdoret komanda:
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
Nisim shërbimin:
net start sshdKur filloni, do të gjenerohen automatikisht çelësat e hostit (nëse mungojnë) në %programdata%ssh
Automatizimi i nisjes së shërbimit me startimin e sistemit mund të aktivizohet me komandën:
Set-Service sshd -StartupType AutomaticGjithashtu, mund të ndryshohet shell-i i komandës për default (pas instalimit, default është cmd):
New-ItemProperty -Path "HKLM:SOFTWAREOpenSSH" -Name DefaultShell -Value "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe" -PropertyType String -ForceSqarim: Duhet të tregoni rrugën absolute.
ĂfarĂ« ndodh mĂ« tej?
Dhe më pas konfiguroni sshd_config, i cili ndodhet në C:ProgramDatassh. Për shembull:
PasswordAuthentication no
PubkeyAuthentication yesDhe krijojmë në folderin e përdoruesit drejtorinë .ssh, dhe atje skedarin authorized_keys. Atje shkruajmë çelësat publikë.
Sqarë e rëndësishme: të drejtat për të shkruar në këtë skedar duhet të ketë vetëm përdoruesi, në direktorinë e të cilit ndodhet skedari.
Por nëse keni probleme me këtë, gjithmonë mund të çaktivizoni kontrollin e të drejtave në konfigurim:
StrictModes noPër ta thënë këtë, në C:Program FilesOpenSSH ndodhen 2 skripte (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), të cilat duhet por nuk janë të detyruara të riparojnë të drejtat, përfshirë edhe me authorized_keys, por për ndonjë arsye nuk e bëjnë.
Mos harroni të riaktivizoni shërbimin sshd pas kësaj për të aplikuar ndryshimet.
ru-mbp-666:infrastructure$ ssh Administrator@192.168.1.10 -i ~/ .ssh/id_rsa
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. Të gjitha të drejtat e rezervuara.
PS C:UsersAdministrator> Get-Host
Emri : 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>Pikat subjektive pozitive/negative.
Avantazhet:
- Qasja standarde për të lidhur me serverët.
Kur ka disa makina Windows, është shumë e pakëndshme kur:
Kështu, këtu ne hyjmë përmes ssh, e këtu rdp,
dhe në përgjithësi best-practice me bastionet, fillimisht ssh-tunnel, dhe përmes tij RDP. - Lehtësia e konfigurimit
Mendoj se kjo është e qartë. - Shpejtësia e lidhjes dhe punës me makinën e largët
Nuk ka ndërfaqe grafike, kursen si burimet e serverit, ashtu edhe sasinë e të dhënave të transmetuara.
Disavantazhet:
- Nuk e zëvendëson plotësisht RDP.
Nuk është e mundur të bësh gjithçka nga konsola, për fat të keq. Kam parasysh situatat kur kërkohet GUI.
Materialet e përdorura në artikull:
Opsionet e instalimit janë kopjuar pa përdorim nga .
Burimi: habr.com
