Mindig is frusztrált a Windows gépekhez való csatlakozás. Nem, nem vagyok a Microsoft és termékeik ellenfele, és nem is annak a pártja. Minden termék a saját céljára létezik, de nem erről van szó.
Számomra mindig is fájdalmas volt csatlakozni a Windows szerverekhez, mert ezek a kapcsolatok vagy rendkívül bonyolultak (helló WinRM HTTPS-sel) vagy nem igazán megbízhatóak (üdvözlet az óceánon túli virtuális gépek RDP-jének).
Ezért, amikor véletlenül rábukkantam a projekt , úgy döntöttem, megosztom a konfigurálással kapcsolatos tapasztalataimat. Talán ez az eszköz másoknak is megspórol néhány idegeskedést.

Telepítési lehetőségek:
- Keresztül Chocolatey
- Például Az Ansible-en keresztül a szereppel
A következő részben az első pontról fogok beszélni, mivel a többi már nagyjából világos.
Megjegyzem, hogy ez a projekt jelenleg béta fázisban van, ezért nem ajánlják a termelésben való használatát.
Tehát letöltjük az utolsó kiadást, jelenleg ez a . Léteznek verziók 32 és 64 bites rendszerekhez is.
Kicsomagoljuk a C:Program FilesOpenSSH
Kötelező dolog a megfelelő működéshez: a könyvtár írási engedélyekkel csak a SYSTEM és az adminisztrátor csoport számára kell, hogy legyen.
A szolgáltatások telepítéséhez futtassuk a install-sshd.ps1 scriptet, amely ebben a könyvtárban található.
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1Engedélyezzük a bejövő csatlakozásokat a 22-es porton:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22Pontosítás: az New-NetFirewallRule applet a Windows Server 2012 és újabb verziókban használható. Régebbi rendszerekben (vagy asztali gépeken) az alábbi parancsot lehet használni:
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
Indítjuk a szolgáltatást:
net start sshdA szolgáltatás indítása során automatikusan generálódnak a host-kulcsok (ha nincsenek végig) a %programdata%ssh
A szolgáltatás automatikus indítása a rendszer indításakor az alábbi parancsot futtatva engedélyezhetjük:
Set-Service sshd -StartupType AutomaticEzen kívül, megváltoztathatjuk az alapértelmezett parancssort (a telepítés után az alapértelmezett — cmd):
New-ItemProperty -Path "HKLM:SOFTWAREOpenSSH" -Name DefaultShell -Value "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe" -PropertyType String -ForcePontok: Az abszolút utat meg kell adni.
Mi következik?
Aztán beállítjuk a sshd_config, amely a következő helyen található: C:ProgramDatassh. Például:
PasswordAuthentication no
PubkeyAuthentication yesÉs létrehozzuk a felhasználói mappában a könyvtárat .ssh, benne a fájl authorized_keys. Ide kell beírni a nyilvános kulcsokat.
Fontos megjegyzés: a fájl írási jogával csak annak a felhasználónak kell rendelkeznie, akinek a könyvtárában a fájl található.
De ha ezzel problémái vannak, mindig ki lehet kapcsolni a jogok ellenőrzését a konfigurációban:
StrictModes noEgyébként, a C:Program FilesOpenSSH két szkript található (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), amelyeknek meg kellene, de nem kötelezően javítaniuk a jogokat, beleértve a authorized_keys, de valamiért nem javítják.
Ne felejtsd el újraindítani a szolgáltatást sshd a változtatások alkalmazása érdekében.
ru-mbp-666:infrastructure$ ssh Administrator@192.168.1.10 -i ~/.ssh/id_rsa
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. Minden jog fenntartva.
PS C:UsersAdministrator> Get-Host
Név : ConsoleHost
Verzió : 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>Szubjektív előnyök/hátrányok.
Előnyök:
- A kiszolgálókhoz való csatlakozás standard megközelítése.
Amikor van néhány Windows gép, nagyon kényelmetlen, amikor:
Itt SSH-n keresztül megyünk, ott RDP,
és egyáltalán a legjobb gyakorlat a bastionokkal, először SSH-alagút, aztán RDP rajta. - A beállítás egyszerűsége
Úgy gondolom, hogy ez nyilvánvaló. - A távoli géphez való csatlakozás sebessége és működése
Nincs grafikus felület, így spórolunk a szerver erőforrásaival és az átadott adatok mennyiségével is.
Hátrányok:
- Nem helyettesíti teljesen az RDP-t.
Nem mindent lehet megcsinálni a konzolból, sajnos. Arra gondolok, amikor GUI-ra van szükség.
A cikkhez használt anyagok:
A telepítési lehetőségek arcátlanul másolva lettek a .
Forrás: habr.com
