Vedno sem bil razočaran nad povezovanjem z napravami Windows. Ne, nisem niti nasprotnik niti zagovornik Microsofta in njegovih izdelkov. Vsak izdelek obstaja za svoj namen, vendar ne gre za to.
Vedno mi je bilo neznosno boleče povezovanje s strežniki Windows, ker so te povezave konfigurirane na enem mestu (pozdravljeni WinRM s HTTPS) ali pa ne delujejo zelo stabilno (pozdravljeni RDP za virtualne stroje v tujini).
Zato je po naključju naletel na projekt Win32-OpenSSH, sem se odločil deliti svojo izkušnjo z namestitvijo. Morda bo to orodje komu prihranilo veliko živcev.
Pojasnilo: programček New-NetFirewallRule uporablja se v sistemu Windows Server 2012 in novejših. V najstarejših sistemih (ali namizju) lahko uporabite ukaz:
In potem smo ga postavili sshd_config, ki ga bomo postavili v C: Podatki programa. Na primer:
PasswordAuthentication no
PubkeyAuthentication yes
In ustvarite imenik v uporabniški mapi .ssh, in v njej datoteka avtorizirani_ključi. Tam zapišemo javne ključe.
Pomembno pojasnilo: samo uporabnik, v čigar imeniku je datoteka, mora imeti pravico do pisanja v to datoteko.
Če pa imate s tem težave, lahko vedno izklopite preverjanje pravic v konfiguraciji:
StrictModes no
Mimogrede, v C:Program FilesOpenSSH obstajata 2 skripti (PopraviHostFilePermissions.ps1, FixUserFilePermissions.ps1), ki bi morale, vendar niso dolžne, določiti pravice, vključno z avtorizirani_ključi, vendar se iz nekega razloga ne registrirajo.
Ne pozabite znova zagnati storitve sshd po uporabi sprememb.
ru-mbp-666:infrastructure$ ssh [email protected] -i ~/.ssh/id_rsa
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.
PS C:UsersAdministrator> Get-Host
Name : 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>
Subjektivni plusi/slabi.
Profesionalci:
Standardni pristop pri povezovanju s strežniki. Ko je naprav z operacijskim sistemom Windows malo, je zelo neprijetno, ko:
Torej, tukaj gremo prek ssh, tukaj pa uporabimo rdp,
in na splošno je najboljša praksa z bastioni najprej ssh tunel in RDP skozi njega.
Enostaven za postavitev Mislim, da je to očitno.
Hitrost povezave in delo z oddaljenim strojem Ni grafične lupine, kar prihrani vire strežnika in količino prenesenih podatkov.
Cons:
Ne nadomešča popolnoma RDP. Vsega se ne da narediti s konzole, žal. Mislim na situacije, ko je potreben GUI.