Tengist Windows í gegnum SSH eins og Linux

Ég hef alltaf verið svekktur yfir því að tengjast Windows vélum. Nei, ég er hvorki andstæðingur né stuðningsmaður Microsoft og þeirra vara. Hver vara er til í sínum tilgangi, en það er ekki það sem þetta snýst um.
Það hefur alltaf verið óskaplega sársaukafullt fyrir mig að tengjast Windows netþjónum, vegna þess að þessar tengingar eru annað hvort stilltar í gegnum einn stað (halló WinRM með HTTPS) eða virka ekki mjög stöðugt (halló RDP fyrir sýndarvélar erlendis).

Því að hafa óvart rekist á verkefnið Win32-OpenSSH, ákvað ég að deila uppsetningarupplifun minni. Kannski mun þetta tól spara einhverjum miklar taugar.

Tengist Windows í gegnum SSH eins og Linux

Uppsetningarvalkostir:

  1. Handvirkt
  2. Með pakki Súkkulaði
  3. Í gegnum Ansible, til dæmis hlutverk jborean93.win_openssh

Næst mun ég tala um fyrsta atriðið, þar sem allt er meira og minna ljóst með restina.

Ég vil taka það fram að þetta verkefni er enn á beta stigi, svo það er ekki mælt með því að nota það í framleiðslu.

Svo skaltu hlaða niður nýjustu útgáfunni, eins og er 7.9.0.0p1-beta. Það eru til útgáfur fyrir bæði 32 og 64 bita kerfi.

Pakkaðu inn C:Program FilesOpenSSH
Skyldur punktur fyrir rétta notkun: aðeins SYSTEM og stjórnendahópnum.

Uppsetning þjónustu með handriti install-sshd.ps1 staðsett í þessari möppu

powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

Leyfa komandi tengingar á tengi 22:

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

Skýring: smáforrit Ný-NetFirewallRule notað á Windows Server 2012 og síðar. Í elstu kerfum (eða skjáborði) geturðu notað skipunina:

netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22

Við skulum hefja þjónustuna:

net start sshd

Við ræsingu verða hýsillyklar sjálfkrafa búnir til (ef vantar) í %programdata%ssh

Við getum virkjað sjálfvirka ræsingu þjónustunnar þegar kerfið byrjar með skipuninni:

Set-Service sshd -StartupType Automatic

Þú getur líka breytt sjálfgefna skipanaskelinni (eftir uppsetningu er sjálfgefið cmd):

New-ItemProperty -Path "HKLM:SOFTWAREOpenSSH" -Name DefaultShell -Value "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe" -PropertyType String -Force

Skýring: Þú verður að tilgreina algera slóð.

Hvað er næst?

Og svo settum við það upp sshd_config, sem við munum setja í C: Dagskrá gögn. Til dæmis:

PasswordAuthentication no
PubkeyAuthentication yes

Og búðu til möppu í notendamöppunni .ssh, og í henni skráin heimilaðir lyklar. Við skrifum niður almenningslyklana þar.

Mikilvægar skýringar: aðeins notandinn sem skráin er í skránni ætti að hafa rétt til að skrifa á þessa skrá.

En ef þú átt í vandræðum með þetta geturðu alltaf slökkt á réttindaskoðun í stillingunni:

StrictModes no

Við the vegur, í C:Program FilesOpenSSH það eru 2 forskriftir (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), sem ætti en er ekki skylt að laga réttindi, þar á meðal með heimilaðir lyklar, en af ​​einhverjum ástæðum skráir þeir sig ekki.

Ekki gleyma að endurræsa þjónustuna ssh eftir til að beita breytingunum.

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>

Huglægir kostir/galla.

Kostir:

  • Hefðbundin nálgun við tengingu við netþjóna.
    Þegar það eru fáar Windows vélar er það mjög óþægilegt þegar:
    Svo, hér förum við í gegnum ssh, og hér notum við rdp,
    og almennt er besti aðferðin við bastions fyrst ssh göng og RDP í gegnum þau.
  • Auðvelt að setja upp
    Ég held að þetta sé augljóst.
  • Hraði tengingar og vinnu með fjarlægri vél
    Það er engin myndræn skel, sem sparar bæði miðlaraauðlindir og magn sendra gagna.

Gallar:

  • Kemur ekki alveg í stað RDP.
    Ekki er hægt að gera allt frá stjórnborðinu, því miður. Ég meina aðstæður þar sem GUI er krafist.

Efni sem notað er í greinina:
Tengill á verkefnið sjálft
Uppsetningarvalkostir eru blygðunarlaust afritaðir frá Ansible skjöl.

Heimild: www.habr.com

Bæta við athugasemd