Jag har alltid varit frustrerad över att ansluta till Windows-maskiner. Nej, jag är varken motståndare eller anhängare av Microsoft och deras produkter. Varje produkt finns för sitt eget syfte, men det är inte vad det handlar om.
Det har alltid varit oerhört smärtsamt för mig att ansluta till Windows-servrar, eftersom dessa anslutningar antingen är konfigurerade via ett ställe (hej WinRM med HTTPS) eller inte fungerar särskilt stabilt (hej RDP till virtuella maskiner utomlands).
Därför råkade ha stött på projektet Win32-OpenSSH, bestämde jag mig för att dela med mig av min installationsupplevelse. Kanske kommer det här verktyget att spara en massa nerver för någon.
Och så satte vi upp det sshd_config, som vi kommer att placera i C: Programdata. Till exempel:
PasswordAuthentication no
PubkeyAuthentication yes
Och skapa en katalog i användarmappen .ssh, och i den filen auktoriserade_nycklar. Vi skriver ner de publika nycklarna där.
Viktigt förtydligande: endast den användare i vars katalog filen finns ska ha rätt att skriva till denna fil.
Men om du har problem med detta kan du alltid stänga av rättighetskontrollen i konfigurationen:
StrictModes no
Förresten, in C: Program FilesOpenSSH det finns 2 skript (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), som bör men inte är skyldiga att fastställa rättigheter, inklusive med auktoriserade_nycklar, men av någon anledning registrerar de sig inte.
Glöm inte att starta om tjänsten sshd efter för att tillämpa ändringarna.
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>
Subjektiva för-/nackdelar.
Fördelar:
Standardmetod för att ansluta till servrar. När det finns få Windows-maskiner är det väldigt obekvämt när:
Så här går vi via ssh, och här använder vi rdp,
och i allmänhet är den bästa praxisen med bastioner först en ssh-tunnel och RDP genom den.
Lätt att ställa in Jag tycker att detta är uppenbart.
Anslutningshastighet och arbete med en fjärrmaskin Det finns inget grafiskt skal, vilket sparar både serverresurser och mängden överförd data.
Nackdelar:
Ersätter inte RDP helt. Allt kan inte göras från konsolen, tyvärr. Jag menar situationer där ett GUI krävs.