Konnessjoni mal-Windows permezz ta 'SSH bħal Linux

Dejjem kont frustrat billi kkonnettja mal-magni tal-Windows. Le, la jien avversarju u lanqas sostenitur tal-Microsoft u l-prodotti tagħhom. Kull prodott jeżisti għall-iskop tiegħu stess, iżda dan mhux dwar dan.
Minn dejjem kien uġigħ kbir għalija li nikkonnettja mas-servers tal-Windows, minħabba li dawn il-konnessjonijiet huma jew ikkonfigurati permezz ta 'post wieħed (hello WinRM b'HTTPS) jew ma jaħdmux b'mod stabbli ħafna (hello RDP għal magni virtwali barranin).

Għalhekk, wara li aċċidentalment jiltaqgħu mal-proġett Win32-OpenSSH, Iddeċidejt li naqsam l-esperjenza tas-setup tiegħi. Forsi din l-għodda se tiffranka lil xi ħadd ħafna nervi.

Konnessjoni mal-Windows permezz ta 'SSH bħal Linux

Għażliet ta 'installazzjoni:

  1. Manwalment
  2. Permezz il-pakkett Chocolatey
  3. Via Ansible, pereżempju rwol jborean93.win_openssh

Sussegwentement, se nitkellem dwar l-ewwel punt, peress li kollox huwa ftit jew wisq ċar mal-bqija.

Nixtieq ninnota li dan il-proġett għadu fl-istadju beta, għalhekk mhux rakkomandat li tużah fil-produzzjoni.

Allura, niżżel l-aħħar rilaxx, bħalissa huwa 7.9.0.0p1-beta. Hemm verżjonijiet kemm għal sistemi ta '32 u 64 bit.

Spakkja ġewwa C:Fajls tal-ProgrammOpenSSH
Punt obbligatorju għal tħaddim korrett: biss il SISTEMA u l-grupp admin.

Installazzjoni ta' servizzi bl-użu ta' skript install-sshd.ps1 jinsabu f'dan id-direttorju

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

Ħalli konnessjonijiet deħlin fuq il-port 22:

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

Kjarifika: applet New-NetFirewallRule użat fuq Windows Server 2012 u aktar tard. Fl-eqdem sistemi (jew desktop) tista 'tuża l-kmand:

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

Ejja nibdew is-servizz:

net start sshd

Fl-istartjar, iċ-ċwievet tal-host se jiġu ġġenerati awtomatikament (jekk neqsin) ġewwa %programmdata%ssh

Nistgħu nippermettu l-awtostart tas-servizz meta s-sistema tibda bil-kmand:

Set-Service sshd -StartupType Automatic

Tista 'wkoll tibdel il-qoxra tal-kmand default (wara l-installazzjoni, in-nuqqas huwa CMD):

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

Kjarifika: Trid tispeċifika mogħdija assoluta.

Xi jmiss?

U mbagħad waqqafna sshd_config, li se npoġġu fih C:Dejta tal-Programm. Pereżempju:

PasswordAuthentication no
PubkeyAuthentication yes

U toħloq direttorju fil-folder tal-utent .sh, u fiha l-fajl tasti awtorizzati. Aħna nikteb iċ-ċwievet pubbliċi hemmhekk.

Kjarifika importanti: l-utent biss li fid-direttorju tiegħu jinsab il-fajl għandu jkollu d-dritt li jikteb f'dan il-fajl.

Imma jekk għandek problemi b'dan, tista' dejjem itfi l-iċċekkjar tad-drittijiet fil-konfigurazzjoni:

StrictModes no

Mill-mod, fi C:Fajls tal-ProgrammOpenSSH hemm 2 skripts (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), li għandhom iżda mhumiex obbligati li jiffissaw id-drittijiet, inkluż ma tasti awtorizzati, iżda għal xi raġuni ma jirreġistrawx.

Tinsiex terġa tibda s-servizz ssh wara li tapplika l-bidliet.

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>

Vantaġġi/iżvantaġġi suġġettivi.

Pros:

  • Approċċ standard għall-konnessjoni mas-servers.
    Meta jkun hemm ftit magni Windows, huwa inkonvenjenti ħafna meta:
    Allura, hawn immorru permezz ssh, u hawn nużaw rdp,
    u b'mod ġenerali, l-aħjar prattika b'swar hija l-ewwel mina ssh, u RDP permezz tagħha.
  • Faċilità ta 'setup
    Naħseb li dan huwa ovvju.
  • Veloċità ta 'konnessjoni u xogħol b'magna remota
    M'hemm l-ebda qoxra grafika, li tiffranka kemm ir-riżorsi tas-server kif ukoll l-ammont ta 'dejta trażmessa.

Cons:

  • Ma jissostitwixxix kompletament RDP.
    Mhux kollox jista' jsir mill-console, sfortunatament. Jiġifieri sitwazzjonijiet fejn hija meħtieġa GUI.

Materjali użati fl-artikolu:
Link mal-proġett innifsu
Għażliet ta 'installazzjoni huma kkupjati bla mistħija minn Dokumenti Ansible.

Sors: www.habr.com

Żid kumment