Pagkonektar sa Windows pinaagi sa SSH sama sa Linux

Kanunay kong nahigawad pinaagi sa pagkonektar sa mga makina sa Windows. Dili, dili ako usa ka kaatbang o usa ka tigpaluyo sa Microsoft ug sa ilang mga produkto. Ang matag produkto naglungtad alang sa kaugalingon nga katuyoan, apan dili kana kung unsa kini.
Kanunay nga sakit kaayo alang kanako ang pagkonektar sa mga server sa Windows, tungod kay kini nga mga koneksyon na-configure sa usa ka lugar (hello WinRM nga adunay HTTPS) o dili molihok nga lig-on (hello RDP sa mga virtual machine sa gawas sa nasud).

Busa, nga aksidenteng nakit-an ang proyekto Win32-OpenSSH, nakahukom ko nga ipaambit ang akong kasinatian sa pag-setup. Tingali kini nga himan makaluwas sa usa ka tawo sa daghang mga nerbiyos.

Pagkonektar sa Windows pinaagi sa SSH sama sa Linux

Mga kapilian sa pag-instalar:

  1. Sa matag usa
  2. Pinaagi sa ang package Chocolatey
  3. Pinaagi sa Ansible, pananglitan nga papel jborean93.win_openssh

Sunod, hisgutan nako ang una nga punto, tungod kay ang tanan labi pa o dili kaayo klaro sa uban.

Gusto nakong timan-an nga kini nga proyekto anaa pa sa beta stage, mao nga wala kini girekomendar nga gamiton kini sa produksyon.

Busa, i-download ang pinakabag-o nga pagpagawas, sa pagkakaron 7.9.0.0p1-beta. Adunay mga bersyon alang sa 32 ug 64 bit nga sistema.

Unpack sa C: Program FilesOpenSSH
Usa ka mandatory nga punto alang sa husto nga operasyon: lamang ang SISTEMA ug ang admin nga grupo.

Pag-instalar sa mga serbisyo gamit ang script install-sshd.ps1 nahimutang niini nga direktoryo

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

Tugoti ang umaabot nga mga koneksyon sa port 22:

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

Pagklaro: applet Bag-ong-NetFirewallRule gigamit sa Windows Server 2012 ug sa ulahi. Sa labing karaan nga mga sistema (o desktop) mahimo nimong gamiton ang mando:

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

Atong sugdan ang serbisyo:

net start sshd

Sa pagsugod, ang mga yawe sa host awtomatikong mabuhat (kung nawala) sa %programdata%ssh

Mahimo namon nga mahimo ang autostart sa serbisyo kung magsugod ang sistema sa mando:

Set-Service sshd -StartupType Automatic

Mahimo usab nimo usbon ang default command shell (pagkahuman sa pag-instalar, ang default mao ang CMD):

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

Pagklaro: Kinahanglan nimong ipiho ang usa ka hingpit nga agianan.

Unsay sunod?

Ug dayon gipahimutang namo kini sshd_config, nga atong ibutang C: Data sa Programa. Pananglitan:

PasswordAuthentication no
PubkeyAuthentication yes

Ug paghimo usa ka direktoryo sa folder sa gumagamit .ssh, ug diha niini ang file awtorisado nga_mga yawe. Among isulat ang mga yawe sa publiko didto.

Importante nga pagpatin-aw: ang user lamang sa kansang direktoryo nahimutang ang file ang adunay katungod sa pagsulat niini nga file.

Apan kung adunay ka mga problema niini, mahimo nimong i-off ang mga katungod sa pagsusi sa config:

StrictModes no

Pinaagi sa dalan, sa C: Program FilesOpenSSH adunay 2 ka script (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), nga kinahanglan apan dili obligado sa pag-ayo sa mga katungod, lakip sa awtorisado nga_mga yawe, apan sa pipila ka rason wala sila magparehistro.

Ayaw kalimti nga i-restart ang serbisyo sshd pagkahuman sa paggamit sa mga pagbag-o.

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>

Subjective nga mga kaayohan/kadaotan.

Mga Pro:

  • Standard nga pamaagi sa pagkonektar sa mga server.
    Kung gamay ra ang mga makina sa Windows, dili kaayo kombenyente kung:
    Busa, ania kami moadto pinaagi sa ssh, ug dinhi among gigamit ang rdp,
    ug sa kinatibuk-an, ang labing maayo nga praktis sa balwarte mao ang una sa usa ka ssh tunnel, ug RDP pinaagi niini.
  • Kasayon ​​sa setup
    Sa akong hunahuna kini klaro.
  • Katulin sa koneksyon ug pagtrabaho sa usa ka hilit nga makina
    Walay graphical nga kabhang, nga nagtipig sa mga kahinguhaan sa server ug sa gidaghanon sa gipasa nga datos.

Kahinumduman:

  • Dili hingpit nga gipulihan ang RDP.
    Dili tanan mahimo gikan sa console, alaot. Gipasabot nako ang mga sitwasyon diin gikinahanglan ang GUI.

Mga materyales nga gigamit sa artikulo:
Link sa proyekto mismo
Ang mga kapilian sa pag-instalar walay kaulaw nga gikopya gikan sa Mahimong mga doc.

Source: www.habr.com

Idugang sa usa ka comment