Ik ben altijd gefrustreerd geweest door verbinding te maken met Windows-machines. Nee, ik ben noch een tegenstander, noch een voorstander van Microsoft en hun producten. Elk product bestaat voor zijn eigen doel, maar daar gaat het hier niet om.
Het is voor mij altijd ondraaglijk pijnlijk geweest om verbinding te maken met Windows-servers, omdat deze verbindingen ofwel via één plek worden geconfigureerd (hallo WinRM met HTTPS) of niet erg stabiel werken (hallo RDP naar virtuele machines in het buitenland).
Daarom ben ik per ongeluk het project tegengekomen Win32-OpenSSH, besloot ik mijn installatie-ervaring te delen. Misschien bespaart deze tool iemand veel zenuwen.
Verduidelijking: applet Nieuwe NetFirewallRule gebruikt op Windows Server 2012 en hoger. In de oudste systemen (of desktop) kun je het commando gebruiken:
En toen hebben we het opgezet sshd_config, die we erin zullen plaatsen C: Programmagegevens. Bijvoorbeeld:
PasswordAuthentication no
PubkeyAuthentication yes
En maak een map in de gebruikersmap .ssh, en daarin het bestand geautoriseerde_sleutels. Daar noteren we de publieke sleutels.
Belangrijke verduidelijking: alleen de gebruiker in wiens directory het bestand zich bevindt, zou het recht moeten hebben om naar dit bestand te schrijven.
Maar als u hier problemen mee heeft, kunt u het controleren van de rechten altijd uitschakelen in de configuratie:
StrictModes no
Overigens binnen C: Programmabestanden OpenSSH er zijn 2 scripts (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), die wel, maar niet verplicht zijn, rechten vast te stellen, ook met geautoriseerde_sleutels, maar om de een of andere reden registreren ze zich niet.
Vergeet niet de service opnieuw te starten sshd daarna om de wijzigingen toe te passen.
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>
Subjectieve voor-/nadelen.
Voors:
Standaardbenadering voor het verbinden met servers. Als er weinig Windows-machines zijn, is het erg lastig wanneer:
Dus hier gaan we via ssh, en hier gebruiken we rdp,
en over het algemeen is de beste praktijk met bastions eerst een ssh-tunnel en RDP er doorheen.
Eenvoudig in te stellen Ik denk dat dit duidelijk is.
Snelheid van verbinding en werken met een machine op afstand Er is geen grafische schil, waardoor zowel serverbronnen als de hoeveelheid verzonden gegevens worden opgeslagen.
Tegens:
Vervangt RDP niet volledig. Helaas kan niet alles vanaf de console worden gedaan. Ik bedoel situaties waarin een GUI vereist is.