Csatlakozás a Windowshoz SSH-n keresztül, mint a Linux
Mindig is csalódott voltam a Windows gépekhez való csatlakozás miatt. Nem, nem vagyok sem ellenfele, sem támogatója a Microsoftnak és termékeiknek. Minden termék a saját céljára létezik, de ez nem erről szól.
Mindig is elviselhetetlenül fájdalmas volt a Windows szerverekhez való csatlakozás, mert ezek a kapcsolatok vagy egy helyen vannak konfigurálva (hello WinRM HTTPS-sel), vagy nem működnek túl stabilan (hello RDP a tengerentúli virtuális gépekhez).
Ezért véletlenül találkoztam a projekttel Win32-OpenSSH, úgy döntöttem, hogy megosztom a beállítási tapasztalataimat. Talán ez az eszköz sok ideget takarít meg valakinek.
Pontosítás: kisalkalmazás Új-NetFirewallRule Windows Server 2012 és újabb rendszeren használják. A legrégebbi rendszerekben (vagy asztalon) a következő parancsot használhatja:
Pontosítás: Meg kell adni egy abszolút elérési utat.
Mi a következő lépés?
És akkor beállítottuk sshd_config, amit elhelyezünk C: Programadatok. Például:
PasswordAuthentication no
PubkeyAuthentication yes
És hozzon létre egy könyvtárat a felhasználói mappában .ssh, és benne a fájl engedélyezett kulcsok. Ott felírjuk a nyilvános kulcsokat.
Fontos pontosítás: csak annak a felhasználónak legyen joga írni ebbe a fájlba, akinek a könyvtárában a fájl található.
De ha ezzel problémáid vannak, a konfigban mindig kikapcsolhatod a jogellenőrzést:
StrictModes no
Mellesleg be C: Program FilesOpenSSH 2 szkript van (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), amelyeknek jogokat kell rögzíteniük, de nem kötelesek rögzíteni, beleértve a engedélyezett kulcsok, de valamiért nem regisztrálnak.
Ne felejtse el újraindítani a szolgáltatást sshd után alkalmazza a változtatásokat.
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>
Szubjektív pro / kontra.
Előnyök:
Szabványos megközelítés a szerverekhez való csatlakozáshoz. Ha kevés Windows gép van, nagyon kényelmetlen, ha:
Tehát itt ssh-n keresztül megyünk, itt pedig rdp-t használunk,
és általában a bástyáknál a legjobb gyakorlat először egy ssh alagút, és azon keresztül az RDP.
Könnyen beállítható Szerintem ez nyilvánvaló.
Csatlakozási sebesség és munka távoli géppel Nincs grafikus héj, amely megtakarítja a szerver erőforrásait és a továbbított adatok mennyiségét.
Hátrányok:
Nem helyettesíti teljesen az RDP-t. Sajnos nem lehet mindent megtenni a konzolról. Olyan helyzetekre gondolok, amikor GUI-ra van szükség.