Vždy ma trápi pripojenie k strojom s Windows. Nie, nie som odporcom ani zástancom Microsoftu a ich produktov. Každý produkt existuje kvôli svojej funkcii, ale o tom to nie je.
Pre mňa bolo vždy bolestivé pripojiť sa k serverom s Windows, pretože tieto pripojenia sú buď nastavené cez zložitosti (ahoj WinRM s HTTPS), alebo nefungujú veľmi stabilne (zdravím RDP k virtuálkam za oceánom).
Náhodne som narazil na projekt , a rozhodol som sa podeliť o skúsenosti s jeho nastavením. Možno niekomu táto nástroj ušetrí veľa nervov.

Možnosti inštalácie:
- Cez Chocolatey
- Cez Ansible, napríklad rola
Ďalej budem hovoriť o prvom bode, pretože ostatné sú celkom jasné.
Chcem zdôrazniť, že tento projekt je zatiaľ v beta fáze, a preto sa neodporúča používať ho v produkcii.
Takže, stiahneme si poslednú verziu, v súčasnosti je to . Existujú verzie pre 32 aj 64-bitové systémy.
Rozbalíme do C:Program FilesOpenSSH
Povinný bod pre správnu funkciu: práva na zápis v tejto priečinku musia mať len SYSTEM a administratívna skupina.
Nainštalujeme služby skriptom install-sshd.ps1 nachádzajúcim sa v tejto priečinku
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1Povolíme prichádzajúce pripojenia na porte 22:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22Užitočná poznámka: príkaz New-NetFirewallRule sa používa na Windows Server 2012 a novšie. V starších systémoch (alebo desktopoch) môžete použiť príkaz:
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
Spustíme službu:
net start sshdPri spustení sa automaticky vygenerujú hostiteľské kľúče (ak chýbajú) v %programdata%ssh
Automatické spustenie služby pri spustení systému môžeme zapnúť príkazom:
Set-Service sshd -StartupType AutomaticTaktiež môžeme zmeniť predvolenú príkazovú shell (po inštalácii, predvolene — cmd):
New-ItemProperty -Path "HKLM:SOFTWAREOpenSSH" -Name DefaultShell -Value "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe" -PropertyType String -ForceUžitočná poznámka: Je potrebné uviesť absolútnu cestu.
Čo ďalej?
A ďalej nastavujeme sshd_config, ktorý sa nachádza v C:ProgramDatassh. Napríklad:
PasswordAuthentication no
PubkeyAuthentication yesA vytvoríme v používateľskej priečinku adresár .ssh, a v ňom súbor authorized_keys. Tam zapíšeme verejné kľúče.
Dôležité upozornenie: práva na zápis do tohto súboru by mal mať iba používateľ, ktorého adresár súbor obsahuje.
Ale ak máte s týmto problémy, vždy je možné vypnúť overovanie práv v konfigurácii:
StrictModes noMimochodom, v C:Program FilesOpenSSH ležia 2 skripty (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), ktoré by mali, ale nemusia opravovať práva, vrátane authorized_keys, ale akosi to neopravujú.
Nezabúdajte reštartovať službu sshd po zmene na aplikovanie zmien.
ru-mbp-666:infrastructure$ ssh Administrator@192.168.1.10 -i ~/ .ssh/id_rsa
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. Všetky práva vyhradené.
PS C:UsersAdministrator> Get-Host
Názov : ConsoleHost
Verzia : 5.1.14393.2791
InstanceId : 653210bd-6f58-445e-80a0-66f66666f6f6
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
Aktuálna kultúra : en-US
Aktuálna UI kultúra : en-US
Súkromné údaje : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled : True
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
PS C:UsersAdministrator>Subjektívne výhody/nevýhody.
Výhody:
- Štandardný prístup k pripojeniu k serverom.
Keď je niekoľko Windows strojov, je veľmi nepríjemné, keď:
Takže sem sa pripájame cez ssh, a tu RDP,
a celkovo best-practice s bastionmi, najprv ssh-tunnel, a cez neho RDP. - Jednoduchosť nastavenia
Považujem to za jasné. - Rýchlosť pripojenia a práce s vzdialeným strojom
Bez grafického prostredia, šetrí ako zdroje servera, tak aj množstvo prenášaných údajov.
Nevýhody:
- Úplne nenahrádza RDP.
Nie všetko sa dá urobiť z konzoly, žiaľ. Mám na mysli situácie, keď je potrebný GUI.
Materiály použité v článku:
Varianty inštalácie sú bezostyšne skopírované z .
Zdroj: habr.com
