Jeg har altid været frustreret over at oprette forbindelse til Windows-maskiner. Nej, jeg er hverken modstander eller tilhænger af Microsoft og deres produkter. Hvert produkt findes til sit eget formål, men det er ikke det, det handler om.
Det har altid været uhyggeligt smertefuldt for mig at oprette forbindelse til Windows-servere, fordi disse forbindelser enten er konfigureret gennem ét sted (hej WinRM med HTTPS) eller fungerer ikke særlig stabilt (hej RDP til virtuelle maskiner i udlandet).
Derfor ved et uheld stødt på projektet Win32-OpenSSH, besluttede jeg at dele min opsætningsoplevelse. Måske vil dette værktøj spare nogen for mange nerver.
Og så sætter vi det op sshd_config, som vi vil placere i C: Programdata. For eksempel:
PasswordAuthentication no
PubkeyAuthentication yes
Og opret en mappe i brugermappen .ssh, og i den filen autoriserede_nøgler. Vi skriver de offentlige nøgler ned der.
Vigtig præcisering: kun den bruger, i hvis mappe filen er placeret, skal have ret til at skrive til denne fil.
Men hvis du har problemer med dette, kan du altid slå rettighedskontrol fra i konfigurationen:
StrictModes no
Forresten, i C: Program FilesOpenSSH der er 2 scripts (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), som bør, men ikke er forpligtet til at fastsætte rettigheder, herunder med autoriserede_nøgler, men af en eller anden grund registrerer de sig ikke.
Glem ikke at genstarte tjenesten sshd efter for at anvende ændringerne.
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>
Subjektive fordele/ulemper.
Teknikere:
Standard tilgang til at oprette forbindelse til servere. Når der er få Windows-maskiner, er det meget ubelejligt, når:
Så her går vi via ssh, og her bruger vi rdp,
og generelt er den bedste praksis med bastioner først en ssh-tunnel og RDP igennem den.
Let at sætte op Jeg synes, det er indlysende.
Tilslutningshastighed og arbejde med en ekstern maskine Der er ingen grafisk skal, hvilket sparer både serverressourcer og mængden af overførte data.
Ulemper:
Erstatter ikke helt RDP. Ikke alt kan gøres fra konsollen, desværre. Jeg mener situationer, hvor en GUI er påkrævet.