Пайвастшавӣ ба Windows тавассути SSH ба монанди Linux

Ман ҳамеша аз пайвастшавӣ ба мошинҳои Windows рӯҳафтода будам. Не, ман на рақиб ва на тарафдори Microsoft ва маҳсулоти онҳо нестам. Ҳар як маҳсулот барои мақсадҳои худ вуҷуд дорад, аммо ин дар бораи он нест.
Пайвастшавӣ ба серверҳои Windows барои ман ҳамеша дардовар буд, зеро ин пайвастҳо ё тавассути як ҷо танзим карда мешаванд (салом WinRM бо HTTPS) ё чандон устувор кор намекунанд (салом RDP ба мошинҳои виртуалӣ дар хориҷа).

Бинобар ин, тасодуфан ба лоиҳа дучор омад Win32-OpenSSH, Ман қарор додам, ки таҷрибаи танзими худро мубодила кунам. Шояд ин асбоб асабҳои зиёдеро наҷот диҳад.

Пайвастшавӣ ба Windows тавассути SSH ба монанди Linux

Имкониятҳои насб:

  1. Дастӣ
  2. Ба воситаи пакет Шоколад
  3. Тавассути Ansible, масалан нақш jborean93.win_openssh

Минбаъд ман дар бораи нуктаи аввал гап мезанам, зеро бо дигарон ҳама чиз камтар ё камтар равшан аст.

Мехоҳам қайд намоям, ки лоиҳаи мазкур ҳанӯз дар марҳилаи бета қарор дорад, бинобар ин дар истеҳсолот истифода бурдани он тавсия дода намешавад.

Ҳамин тавр, версияи охиринро зеркашӣ кунед, дар айни замон он аст 7.9.0.0p1-бета. Барои системаҳои 32 ва 64 бит версияҳо мавҷуданд.

Кушодан дар C: Барномаи FilesOpenSSH
Нуқтаи ҳатмӣ барои кори дуруст: танҳо SYSTEM ва гурӯҳи маъмурӣ.

Насб кардани хидматҳо бо истифода аз скрипт install-sshd.ps1 дар ин феҳрист ҷойгир аст

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

Ба пайвастҳои воридотӣ дар порти 22 иҷозат диҳед:

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

Тавзеҳот: апплет Rule-NetFirewall дар Windows Server 2012 ва баъдтар истифода мешавад. Дар системаҳои қадимтарин (ё мизи корӣ) шумо метавонед фармонро истифода баред:

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

Биёед хидматро оғоз кунем:

net start sshd

Ҳангоми оғозёбӣ, калидҳои ҳост ба таври худкор тавлид мешаванд (агар мавҷуд набошад). %дата%ssh

Вақте ки система бо фармони зерин оғоз меёбад, мо метавонем худкори хидматро фаъол созем:

Set-Service sshd -StartupType Automatic

Шумо инчунин метавонед қабати фармони пешфарзро тағир диҳед (пас аз насб, пешфарз аст смд):

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

Тавзеҳот: Шумо бояд роҳи мутлақро муайян кунед.

Чӣ оянда аст?

Ва он гоҳ мо онро танзим кардем sshd_config, ки мо дар он ҷойгир мекунем C: Маълумоти барномавӣ. Масалан:

PasswordAuthentication no
PubkeyAuthentication yes

Ва дар папкаи корбар директория эҷод кунед .ssh, ва дар он файл калидҳои ваколатдор. Мо калидҳои оммавиро дар он ҷо менависем.

Тавзеҳи муҳим: танҳо корбаре, ки файл дар директорияаш ҷойгир аст, бояд ҳуқуқи навиштан ба ин файлро дошта бошад.

Аммо агар шумо бо ин мушкилот дошта бошед, шумо ҳамеша метавонед тафтиши ҳуқуқҳоро дар конфигуратсия хомӯш кунед:

StrictModes no

Воқеан, дар C: Барномаи FilesOpenSSH 2 скрипт вуҷуд дорад (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), ки бояд, вале вазифадор нестанд, ки ҳуқуқҳоро муқаррар кунанд, аз ҷумла бо калидҳои ваколатдор, аммо бо баъзе сабабҳо онҳо сабти ном намешаванд.

Фаромӯш накунед, ки хидматро аз нав оғоз кунед sshd пас аз татбиқи тағйирот.

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>

Тарафҳои мусбат / манфии субъективӣ.

Тарафдор:

  • Равиши стандартӣ барои пайвастшавӣ ба серверҳо.
    Вақте ки мошинҳои Windows каманд, ин хеле нороҳат аст, вақте ки:
    Ҳамин тавр, мо тавассути ssh меравем ва дар ин ҷо мо rdp -ро истифода мебарем,
    ва умуман, беҳтарин таҷриба бо босмаҳо аввал туннели ssh ва RDP тавассути он аст.
  • Осонии танзим
    Ман фикр мекунам, ки ин равшан аст.
  • Суръати пайвастшавӣ ва кор бо мошини дурдаст
    Ягон қабати графикӣ вуҷуд надорад, ки ҳам захираҳои сервер ва ҳам ҳаҷми маълумоти интиқолшударо сарфа мекунад.

Эзоҳ:

  • RDP-ро пурра иваз намекунад.
    На ҳама чизро аз консол кардан мумкин аст, мутаассифона. Ман ҳолатҳоеро дар назар дорам, ки GUI талаб карда мешавад.

Маводҳои дар мақола истифодашуда:
Истинод ба худи лоиҳа
Имконоти насб аз шармгинона нусхабардорӣ карда мешаванд Ҳуҷҷатҳои ҳассос.

Манбаъ: will.com

Илова Эзоҳ