Lidhja me Windows përmes SSH si në Linux

MĂ« ka shqetĂ«suar gjithmonĂ« lidhja me makinat Windows. Jo, nuk jam kundĂ«r dhe as pĂ«rkrahĂ«s i Microsoft dhe produkteve tĂ« tyre. Çdo produkt ekziston pĂ«r njĂ« qĂ«llim tĂ« caktuar, por kjo nuk Ă«shtĂ« çështja.
Për mua ka qenë gjithmonë një dhimbje e madhe të lidhem me serverat Windows, sepse këto lidhje ndërtohen ose përmes një kanali të ndërlikuar (përshëndetje WinRM me HTTPS) ose funksionojnë jo shumë stabilisht (përshëndetje RDP me makinat virtuale përtej oqeanit).

Prandaj, duke u përballur rastësisht me projektin Win32-OpenSSH, vendosa të ndaj përvojën time në konfigurimin e tij. Ndoshta kjo vegël do t'i kursejë shumë nerva dikujt.

Lidhja me Windows përmes SSH si në Linux

Opsionet e instalimit:

  1. Dora dorës
  2. Përmes paketa Chocolatey
  3. Përmes Ansible, për shembull roli jborean93.win_openssh

Më pas do të flas për pika të parë, pasi me të tjerat gjithçka është më shumë-më pak e qartë.

Dua të theksoj se ky projekt aktualisht ndodhet në fazën beta, prandaj nuk rekomandohet për t'u përdorur në prodhim.

Kështu, shkarkohet publikimi më i fundit, për momentin ky është 7.9.0.0p1-beta. Ka versione për sisteme 32 dhe 64 bit.

Shkëputni në C:Program FilesOpenSSH
Një pikë e rëndësishme për funksionimin e saktë: të drejtat për të shkruar në këtë direktori duhet të jenë vetëm për SYSTEM dhe grupin e administratorëve.

Instaloni shërbimet me skriptin install-sshd.ps1 ndod ndod ndod

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

Lejojmë lidhjet hyrëse në portin 22:

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

Sqarim: applet New-NetFirewallRule përdoret në Windows Server 2012 dhe më të reja. Në sistemet më të vjetra (ose desktop) mund të përdoret komanda:

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

Nisim shërbimin:

net start sshd

Kur filloni, do të gjenerohen automatikisht çelësat e hostit (nëse mungojnë) në %programdata%ssh

Automatizimi i nisjes së shërbimit me startimin e sistemit mund të aktivizohet me komandën:

Set-Service sshd -StartupType Automatic

Gjithashtu, mund të ndryshohet shell-i i komandës për default (pas instalimit, default është cmd):

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

Sqarim: Duhet të tregoni rrugën absolute.

ÇfarĂ« ndodh mĂ« tej?

Dhe më pas konfiguroni sshd_config, i cili ndodhet në C:ProgramDatassh. Për shembull:

PasswordAuthentication no
PubkeyAuthentication yes

Dhe krijojmë në folderin e përdoruesit drejtorinë .ssh, dhe atje skedarin authorized_keys. Atje shkruajmë çelësat publikë.

Sqarë e rëndësishme: të drejtat për të shkruar në këtë skedar duhet të ketë vetëm përdoruesi, në direktorinë e të cilit ndodhet skedari.

Por nëse keni probleme me këtë, gjithmonë mund të çaktivizoni kontrollin e të drejtave në konfigurim:

StrictModes no

Për ta thënë këtë, në C:Program FilesOpenSSH ndodhen 2 skripte (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), të cilat duhet por nuk janë të detyruara të riparojnë të drejtat, përfshirë edhe me authorized_keys, por për ndonjë arsye nuk e bëjnë.

Mos harroni të riaktivizoni shërbimin sshd pas kësaj për të aplikuar ndryshimet.

ru-mbp-666:infrastructure$ ssh Administrator@192.168.1.10 -i ~/ .ssh/id_rsa
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. Të gjitha të drejtat e rezervuara.

PS C:UsersAdministrator> Get-Host


Emri             : 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>

Pikat subjektive pozitive/negative.

Avantazhet:

  • Qasja standarde pĂ«r tĂ« lidhur me serverĂ«t.
    Kur ka disa makina Windows, është shumë e pakëndshme kur:
    Kështu, këtu ne hyjmë përmes ssh, e këtu rdp,
    dhe në përgjithësi best-practice me bastionet, fillimisht ssh-tunnel, dhe përmes tij RDP.
  • LehtĂ«sia e konfigurimit
    Mendoj se kjo është e qartë.
  • ShpejtĂ«sia e lidhjes dhe punĂ«s me makinĂ«n e largĂ«t
    Nuk ka ndërfaqe grafike, kursen si burimet e serverit, ashtu edhe sasinë e të dhënave të transmetuara.

Disavantazhet:

  • Nuk e zĂ«vendĂ«son plotĂ«sisht RDP.
    Nuk është e mundur të bësh gjithçka nga konsola, për fat të keq. Kam parasysh situatat kur kërkohet GUI.

Materialet e përdorura në artikull:
Lidhja me projektin e vetë
Opsionet e instalimit janë kopjuar pa përdorim nga Dokumentet Ansible.

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster