Uvijek sam bio frustriran povezivanjem na Windows strojeve. Ne, nisam ni protivnik ni pobornik Microsofta i njegovih proizvoda. Svaki proizvod postoji za svoju svrhu, ali nije o tome riječ.
Uvijek mi je bilo nesnosno bolno spajati se na Windows poslužitelje, jer su te veze ili konfigurirane na jednom mjestu (pozdrav WinRM s HTTPS-om) ili ne rade baš stabilno (pozdrav RDP virtualnim strojevima u inozemstvu).
Stoga, slučajno naišavši na projekt Win32-OpenSSH, odlučio sam podijeliti svoje iskustvo postavljanja. Možda će ovaj alat nekome uštedjeti mnogo živaca.
I onda smo to postavili sshd_config, koje ćemo smjestiti u C: Podaci o programu, Na primjer:
PasswordAuthentication no
PubkeyAuthentication yes
I stvorite direktorij u korisničkoj mapi .ssh, au njemu datoteku odobreni_ključevi. Tamo zapisujemo javne ključeve.
Važno pojašnjenje: samo korisnik u čijem se direktoriju nalazi datoteka treba imati pravo pisanja u ovu datoteku.
Ali ako imate problema s ovim, uvijek možete isključiti provjeru prava u konfiguraciji:
StrictModes no
Usput, u C:Program FilesOpenSSH postoje 2 skripte (Popravi HostFilePermissions.ps1, FixUserFilePermissions.ps1), koji bi trebali, ali nisu obvezni, utvrditi prava, uključujući s odobreni_ključevi, ali se iz nekog razloga ne registriraju.
Ne zaboravite ponovno pokrenuti uslugu sshd nakon primjene promjena.
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>
Subjektivne prednosti/protiv.
Pros:
Standardni pristup povezivanju s poslužiteljima. Kada ima malo Windows strojeva, vrlo je nezgodno kada:
Dakle, ovdje idemo putem ssh-a, a ovdje koristimo rdp,
i općenito najbolja praksa s bastionima je prvo ssh tunel, a RDP kroz njega.
Jednostavan za postavljanje Mislim da je ovo očito.
Brzina povezivanja i rad s udaljenim strojem Nema grafičke ljuske, čime se štede resursi poslužitelja i količina prenesenih podataka.
Cons:
Ne zamjenjuje u potpunosti RDP. Ne može se sve raditi s konzole, nažalost. Mislim na situacije u kojima je potrebno GUI.