Π‘Π²ΡŠΡ€Π·Π²Π°Π½Π΅ към 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: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ OpenSSH
Π—Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π·Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°: само Π‘Π˜Π‘Π’Π•ΠœΠ ΠΈ Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° администратори.

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° услуги с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° скрипт инсталирайтС-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

ΠŸΡ€ΠΈ стартиранС ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° хоста Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈ (Π°ΠΊΠΎ липсват) Π² %ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΈ Π΄Π°Π½Π½ΠΈ%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: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ OpenSSH ΠΈΠΌΠ° 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 Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€