Girêdana Windows-ê bi SSH-ê mîna Linux-ê

Ez her gav ji girêdana makîneyên Windows-ê aciz bûm. Na, ez ne dijber û ne jî piştgirê Microsoft û hilberên wan im. Her hilberek ji bo mebesta xwe heye, lê ev ne ew e.
Girêdana bi pêşkêşkerên Windows-ê re ji bo min her gav pir bi êş bû, ji ber ku ev girêdan an bi yek cîhek têne mîheng kirin (silav WinRM bi HTTPS) an jî pir bi îstîqrar naxebitin (silav RDP ji makîneyên virtual li derveyî welat).

Ji ber vê yekê, bi xeletî rastî projeyê hat Win32-OpenSSH, Min biryar da ku ezmûna xwe ya sazkirinê parve bikim. Dibe ku ev amûr dê kesek gelek nervan xilas bike.

Girêdana Windows-ê bi SSH-ê mîna Linux-ê

Vebijarkên sazkirinê:

  1. Mirovan
  2. Rêya pakêtê Chocolate
  3. Bi rêya Ansible, ji bo nimûne rola jborean93.win_openssh

Dûv re, ez ê li ser xala yekem biaxivim, ji ber ku her tişt bi yên mayî re kêm-zêde zelal e.

Ez dixwazim bibêjim ku ev proje hîn di qonaxa betayê de ye, ji ber vê yekê nayê pêşniyar kirin ku wê di hilberînê de bikar bînin.

Ji ber vê yekê, serbestberdana herî dawî, di vê gavê de, dakêşin 7.9.0.0p1-beta. Guhertoyên herdu pergalên 32 û 64 bit hene.

Di nav de pakkirin C: Pelên BernameyêOpenSSH
Ji bo operasyona rast xalek mecbûrî: tenê SÎSTEM û koma admin.

Sazkirina karûbaran bi karanîna skrîptê install-sshd.ps1 di vê pelrêçê de cih digire

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

Destûrê bide girêdanên hatinê li porta 22:

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

Zelalkirin: applet New-NetFirewallRule li ser Windows Server 2012 û paşê tê bikar anîn. Di pergalên herî kevn (an sermaseyê) de hûn dikarin fermanê bikar bînin:

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

Ka em xizmetê dest pê bikin:

net start sshd

Di destpêkê de, bişkokên mêvandar dê bixweber werin çêkirin (heke winda bibin). %programdata%ssh

Dema ku pergal bi fermanê dest pê dike, em dikarin destpêka karûbarê otomatîk çalak bikin:

Set-Service sshd -StartupType Automatic

Her weha hûn dikarin şêla fermana xwerû biguhezînin (piştî sazkirinê, xwerû ye cmd):

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

Zelalkirin: Divê hûn rêyek mutleq diyar bikin.

Çi ye?

Û paşê me ew saz kir sshd_config, ku em ê tê de cih bigirin C: Daneyên bernameyê. Bo nimûne:

PasswordAuthentication no
PubkeyAuthentication yes

Û di peldanka bikarhêner de peldankek çêbikin .ssh, û di wê de pelê autorized_keys. Em li wir mifteyên giştî dinivîsin.

Zelalkirina girîng: tenê bikarhênerê ku pel di pelrêça wî de ye divê mafê nivîsandina vê pelê hebe.

Lê heke di vê yekê de pirsgirêkên we hebin, hûn dikarin her gav di veavakirinê de kontrolkirina mafan vekin:

StrictModes no

Bi awayê, di C: Pelên BernameyêOpenSSH 2 nivîs hene (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), ku divê lê ne mecbûr in ku mafan rast bikin, tevî bi autorized_keys, lê ji ber hin sedeman ew qeyd nakin.

Ji bîr nekin ku xizmetê ji nû ve bidin destpêkirin ssh piştî sepandina guhertinan.

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>

Aliyên subjektîf / neyînî.

Pros:

  • Nêzîkatiya standard ji bo girêdana bi serveran re.
    Dema ku çend makîneyên Windows-ê hene, ew pir nerehet e dema ku:
    Ji ber vê yekê, li vir em bi ssh re diçin, û li vir em rdp bikar tînin,
    û bi gelemperî, çêtirîn-pratîka bi baskan pêşî tunelek ssh e, û RDP bi wê re ye.
  • Hêsaniya sazkirinê
    Ez difikirim ku ev eşkere ye.
  • Leza girêdanê û xebata bi makîneyek dûr
    Şêlek grafîkî tune, hem çavkaniyên serverê û hem jî hêjeya daneyên veguheztin hilîne.

Bawer:

  • Bi tevahî li şûna RDP nayê.
    Her tişt ji konsolê nayê kirin, mixabin. Mebesta min rewşên ku GUI hewce ye.

Materyalên ku di gotarê de têne bikar anîn:
Girêdana projeyê bixwe
Vebijarkên sazkirinê bi rengek bêşerm têne kopî kirin Belgeyên berbiçav.

Source: www.habr.com

Add a comment