Vždy mě trápilo připojení k Windows strojům. Neříkám, že jsem odpůrce nebo příznivec Microsoftu a jejich produktů. Každý produkt má svůj účel, ale to není téma této diskuse.
Pro mě vždy bylo mučivé připojovat se k serverům se systémem Windows, protože tato připojení jsou buď nastavena nešťastně (ahoj WinRM s HTTPS), nebo nefungují příliš stabilně (zdravím RDP k virtuálním strojům za oceánem).
Proto jsem náhodou narazil na projekt , rozhodl jsem se podělit o zkušenosti s nastavením. Možná to někomu ušetří spoustu nervů.

Možnosti instalace:
- Přes Chocolatey
- Přes Ansible, například roli
Dále budu hovořit o prvním bodě, protože s ostatními je to jasné.
Rád bych poznamenal, že tento projekt je zatím ve stádiu beta, takže se nedoporučuje používat ho v produkci.
Takže stahujeme poslední release, momentálně je to . Existují verze jak pro 32bitové, tak i pro 64bitové systémy.
Rozbalíme do C:Program FilesOpenSSH
Zásadní bod pro správnou funkčnost: práva na zápis v této složce by měla mít pouze SYSTEM a administrativní skupina.
Nainstalujeme služby skriptem install-sshd.ps1 nacházejícím se v této složce
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1Povolujeme příchozí připojení na port 22:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22Upřesnění: applet New-NetFirewallRule se používá na Windows Serveru 2012 a novějších. V nejstarších systémech (nebo desktopových) lze použít příkaz:
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
Spouštíme službu:
net start sshdPři spuštění budou automaticky vygenerovány hostovací klíče (pokud neexistují) v %programdata%ssh
Automatické spuštění služby při startu systému můžeme povolit příkazem:
Set-Service sshd -StartupType AutomaticTaké můžeme změnit výchozí příkazový shell (po instalaci, výchozí — cmd):
New-ItemProperty -Path "HKLM:SOFTWAREOpenSSH" -Name DefaultShell -Value "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe" -PropertyType String -ForceUpřesnění: Je nutné uvést absolutní cestu.
Co dál?
A dále nastavujeme sshd_config, který se nachází v C:ProgramDatassh. Například:
PasswordAuthentication no
PubkeyAuthentication yesA vytvoříme v uživatelské složce adresář .ssh, a v něm soubor authorized_keys. Zde zapíšeme veřejné klíče.
Důležité upřesnění: práva pro zápis do tohoto souboru by měl mít pouze uživatel, jehož adresář obsahuje tento soubor.
Pokud s tím máte problémy, vždy je možné v konfiguraci vypnout kontrolu práv:
StrictModes noMimochodem, C:Program FilesOpenSSH existují 2 skripty (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), které by měly, ale nemusí opravit práva, včetně i s authorized_keys, ale z nějakého důvodu neopravují.
Nezapomínejte restartovat službu sshd. po změnách pro jejich aplikaci.
ru-mbp-666:infrastructure$ ssh Administrator@192.168.1.10 -i ~/.ssh/id_rsa
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. Všechna práva vyhrazena.
PS C:\Users\Administrator> Get-Host
Název : ConsoleHost
Verze : 5.1.14393.2791
Id instance : 653210bd-6f58-445e-80a0-66f66666f6f6
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
Aktuální kultura : en-US
Aktuální UI kultura: en-US
Soukromá data : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
Debugger povolen : True
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
PS C:\Users\Administrator>Subjektivní klady/átmy.
Plusy:
- Standardní přístup k připojení k serverům.
Když je pár strojů na Windows, je velmi nepohodlné, když:
Takže sem chodíme přes ssh, a tady rdp,
a vůbec best-practice s bastiony, nejprve ssh-tunel, a přes něj RDP. - Jednoduchost nastavení
Považuji to za zřejmé. - Rychlost připojení a práce s vzdáleným strojem
Není grafické rozhraní, šetří se jak prostředky serveru, tak i množství přenášených dat.
Nevýhody:
- Úplně nenahrazuje RDP.
Není možné vše udělat z konzole, bohužel. Mám na mysli situace, kdy je potřeba GUI.
Materiály použité v článku:
Varianty instalace bez ostychu zkopírovány z .
Zdroj: habr.com
