Lidhja me Windows përmes SSH si në Linux

MĂ« ka shqetĂ«suar gjithmonĂ« lidhja me makinat Windows. Jo, nuk jam njĂ« kundĂ«rshtar dhe as njĂ« mbĂ«shtetĂ«s i Microsoft dhe produkteve tĂ« tyre. Çdo produkt ekziston pĂ«r njĂ« qĂ«llim tĂ« vetin, por nuk Ă«shtĂ« fjala pĂ«r kĂ«tĂ«.
Për mua ka qenë gjithmonë një dhimbje e madhe të lidhem me serverët me Windows, sepse këto lidhje ose konfigurohen përmes një vendi të mundshëm (përshëndetje WinRM me HTTPS) ose nuk funksionojnë shumë stabilisht (përshëndetje RDP për makinat virtuale përtej oqeanit).

Prandaj, duke u ndeshur rastĂ«sisht me projektin Win32-OpenSSH, vendosa tĂ« ndaj pĂ«rvojĂ«n time nĂ« konfigurim. Ndoshta kjo mjet do t’i kursejĂ« nervat dikujt.

Lidhja me Windows përmes SSH si në Linux

Mundësitë për instalim:

  1. Dore
  2. Përmes paketën Chocolatey
  3. Përmes Ansible, për shembull roli jborean93.win_openssh

Më pas do të flas për pikën e parë, sepse për të tjerat dihet më shumë ose më pak.

Dua të theksoj se ky projekt është ende në fazën beta, prandaj nuk rekomandohet për përdorim në prodhim.

Pra, shkarkohet versioni më i fundit, në këtë moment është 7.9.0.0p1-beta. Ka versione si për sistemet 32 ashtu dhe për ato 64-bit.

Nxirret në C:Program FilesOpenSSH
Një moment i domosdoshëm për funksionimin e saktë: të drejtat për të shkruajtur në këtë direktor duhet të jenë vetëm për SYSTEM dhe grupin e administratorëve.

Instaloni shërbimet me skriptin install-sshd.ps1 në këtë direktor

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

Lejo 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ërdoren urdhrat:

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

Nisni shërbimin:

net start sshd

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

Mund të aktivizojmë nisjen automatike të shërbimit gjatë nisjes së sistemit me urdhrin:

Set-Service sshd -StartupType Automatic

Po ashtu, mund tĂ« ndryshojmĂ« shell-in e komandave tĂ« paracaktuar (pas instalimit, e cila Ă«shtĂ« parazgjedhja — cmd):

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

Sqarim: Duhet të specifikohet rruga absolute.

ÇfarĂ« ndodh mĂ« tej?

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

PasswordAuthentication no
PubkeyAuthentication yes

Dhe krijojmë një direktor në dosjen e përdoruesit .ssh, dhe në të skedarin authorized_keys. Atje shkruajmë çelësat publik.

Një sqarim i rëndësishëm: të drejtat për të shkruar në këtë skedar duhet të ketë vetëm përdoruesi, në direktorish që ndodhet skedari.

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

StrictModes no

Dhe, në C:Program FilesOpenSSH ndodhen 2 skripte (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), të cilat duhet të rregullojnë të drejtat, por nuk janë të detyrueshme, duke përfshirë dhe authorized_keys, por për ndonjë arsye nuk rregullojnë.

Mos harroni të rinisni shërbimin sshd pas 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ë gjithë 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
KulturaAktuale     : en-US
KulturaUIAktuale   : en-US
TëDhënatPrivate    : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled    : True
IsRunspacePushed   : False
Runspace           : System.Management.Automation.Runspaces.LocalRunspace

PS C:UsersAdministrator>

Avantazhet/dobitë subjektive.

Avantazhet:

  • Qasja standard nĂ« servera.
    Kur ka pak makina Windows, është shumë e pakëndshme kur:
    Pra, këtu hyjmë përmes ssh, e këtu rdp,
    dhe në përgjithësi praktika më e mirë është me bastionët, fillimisht tuneli ssh, dhe përmes tij RDP.
  • ThjeshtĂ«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, kurse si burimet e serverit, ashtu edhe sasia e të dhënave të transferuara.

Disavantazhet:

  • Nuk zĂ«vendĂ«son plotĂ«sisht RDP.
    Nuk të gjitha mund të bëhen nga konzola, fatkeqësisht. Mendova situatat, kur kërkohet GUI.

Materialet e përdorura në artikull:
Linku në projektin vetë
Opsionet për instalimin janë kopjuar pa mëshirë nga Dokumentacioni i Ansible.

Burimi: habr.com

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