Linux сыяктуу SSH аркылуу Windows менен туташуу

Мен ар дайым Windows машиналарына туташуудан капаланчумун. Жок, мен Майкрософттун жана анын өнүмдөрүнүн оппоненти да, колдоочусу да эмесмин. Ар бир продукт өз максаты үчүн бар, бирок бул жөнүндө эмес.
Windows серверлерине туташуу мен үчүн ар дайым абдан оор болуп келген, анткени бул байланыштар бир жерден конфигурацияланган (HTTPS менен WinRM салам) же туруктуу иштебейт (чет өлкөдөгү виртуалдык машиналарга салам RDP).

Ошондуктан, кокусунан долбоорго туш болуп калды Win32-OpenSSH, Мен орнотуу тажрыйбам менен бөлүшүүнү чечтим. Балким, бул курал кимдир бирөөнүн нервдерин сактап калат.

Linux сыяктуу SSH аркылуу Windows менен туташуу

Орнотуу параметрлери:

  1. кол менен
  2. аркылуу пакет Шоколад жана
  3. Via Ansible, мисалы ролу jborean93.win_openssh

Андан кийин, мен биринчи пункт жөнүндө сүйлөшөм, анткени калгандары менен баары аздыр-көптүр түшүнүктүү.

Бул долбоор дагы бета стадиясында экенин белгилеп кетким келет, ошондуктан аны өндүрүштө колдонуу сунушталбайт.

Ошентип, акыркы релизди жүктөп алыңыз, учурда ал 7.9.0.0p1-бета. 32 жана 64 биттик системалар үчүн версиялары бар.

Таңгактан чыгарыңыз C:Program 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

Тактоо: апплет New-NetFirewallRule Windows Server 2012 жана андан кийинки версияларында колдонулат. Эң эски системаларда (же рабочий столдо) сиз төмөнкү буйрукту колдоно аласыз:

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

Кызматты баштайлы:

net start sshd

Ишке киргенде, хост ачкычтары автоматтык түрдө түзүлөт (эгер жок болсо). %programdata%ssh

Система төмөнкү буйрук менен башталганда, кызматтын автоматтык түрдө күйгүзүлүшүн иштете алабыз:

Set-Service sshd -StartupType Automatic

Сиз ошондой эле демейки буйрук кабыгын өзгөртө аласыз (орнотуудан кийин, демейки CMD):

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:Program 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 талап кылынган жагдайларды айтып жатам.

Макалада колдонулган материалдар:
Долбоордун өзүнө шилтеме
Орнотуу параметрлери уялбастан көчүрүлгөн Ansible документтер.

Source: www.habr.com

Комментарий кошуу