Π‘Π²ΡŠΡ€Π·Π²Π°Π½Π΅ с Windows ΠΏΠΎ SSH ΠΊΠ°Ρ‚ΠΎ Π² Linux

Π’ΠΈΠ½Π°Π³ΠΈ ΠΌΠ΅ Π΅ потискало ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ с Windows машини. НС, Π½Π΅ съм ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊ ΠΈ Π½Π΅ съм ΠΏΡ€ΠΈΠ²ΡŠΡ€ΠΆΠ΅Π½ΠΈΠΊ Π½Π° Microsoft ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈ. ВсСки ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° Π·Π° своя Ρ†Π΅Π», Π½ΠΎ Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ Ρ‚Π΅ΠΌΠ°Ρ‚Π°.
Π’ΠΈΠ½Π°Π³ΠΈ ΠΌΠΈ Π΅ Π±ΠΈΠ»ΠΎ ΠΌΡŠΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° сС ΡΠ²ΡŠΡ€Π·Π²Π°ΠΌ със ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΏΠΎΠ΄ Windows, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Ρ‚Π΅Π·ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΈΠ»ΠΈ сС настройват ΠΏΠΎ странСн Π½Π°Ρ‡ΠΈΠ½ (Π·Π΄Ρ€Π°Π²Π΅ΠΉ, WinRM с HTTPS), ΠΈΠ»ΠΈ работят Π½Π΅ особСно стабилно (Π·Π΄Ρ€Π°Π²Π΅ΠΉ, RDP към Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠΈ Π·Π°Π΄ ΠΎΠΊΠ΅Π°Π½Π°).

Π—Π°Ρ‚ΠΎΠ²Π°, случайно Π½Π°Ρ‚ΡŠΠΊΠ²Π°ΠΉΠΊΠΈ сС Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Win32-OpenSSH, Ρ€Π΅ΡˆΠΈΡ… Π΄Π° сподСля ΠΎΠΏΠΈΡ‚Π° си с настройката. МоТС Π±ΠΈ Π½Π° някой Ρ‰Π΅ ΠΌΡƒ спСсти ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ€Π²ΠΈ.

Π‘Π²ΡŠΡ€Π·Π²Π°Π½Π΅ с Windows ΠΏΠΎ SSH ΠΊΠ°Ρ‚ΠΎ Π² Linux

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈ Π½Π° инсталиранС:

  1. Π ΡŠΡ‡Π½ΠΎ
  2. Π§Ρ€Π΅Π· ΠΏΠ°ΠΊΠ΅Ρ‚Π° Chocolatey
  3. ΠŸΡ€Π΅Π· Ansible, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, роля jborean93.win_openssh

По-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ Ρ‰Π΅ говоря Π·Π° ΠΏΡŠΡ€Π²Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ с останалитС Π΅ доста ясно.

ЗабСлязвам, Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ всС ΠΎΡ‰Π΅ Π΅ Π² Π±Π΅Ρ‚Π° стадий, Π·Π°Ρ‚ΠΎΠ²Π° Π½Π΅ сС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π° Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² продукция.

И Ρ‚Π°ΠΊΠ°, изтСглямС послСдния Ρ€Π΅Π»ΠΈΠΉΠ·, към ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ‚ΠΎΠ²Π° Π΅ 7.9.0.0p1-beta. Има вСрсии ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° 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:ProgramDatassh. НапримСр:

PasswordAuthentication no
PubkeyAuthentication yes

И създавамС Π² потрСбитСлската ΠΏΠ°ΠΏΠΊΠ° дирСктория .ssh, Π° Π² нСя Ρ„Π°ΠΉΠ» authorized_keys. Π’Π°ΠΌ записвамС ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅.

Π’Π°ΠΆΠ½ΠΎ ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅: ΠΏΡ€Π°Π²Π°Ρ‚Π° Π·Π° запис Π² Ρ‚ΠΎΠ·ΠΈ Ρ„Π°ΠΉΠ» трябва Π΄Π° ΠΈΠΌΠ° само потрСбитСлят, чиято дирСктория ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° Ρ„Π°ΠΉΠ»Π°.

Но Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с Ρ‚ΠΎΠ²Π°, Π²ΠΈΠ½Π°Π³ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€Π°Π²Π°Ρ‚Π° Π² конфигурацията:

StrictModes no

ΠœΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, Π² C:Program FilesOpenSSH си стоят 2 скрипта (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), ΠΊΠΎΠΈΡ‚ΠΎ трябва, Π½ΠΎ Π½Π΅ Π΅ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ, Π΄Π° ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‚ ΠΏΡ€Π°Π²Π°Ρ‚Π°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈ с authorized_keys, Π½ΠΎ ΠΏΠΎ някаква ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π½Π΅ Π³ΠΎ правят.

НС забравяйтС Π΄Π° пСрСзапуститС услугата sshd. слСд Ρ‚ΠΎΠ²Π°, Π·Π° Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅.

ru-mbp-666:infrastructure$ ssh Administrator@192.168.1.10 -i ~/.ssh/id_rsa
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. Всички ΠΏΡ€Π°Π²Π° Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ.

PS C:UsersAdministrator> Get-Host


ИмС             : ConsoleHost
ВСрсия          : 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,
    ΠΈ Π²ΡŠΠΎΠ±Ρ‰Π΅ best-practice с бастионитС, ΠΏΡŠΡ€Π²ΠΎ ssh Ρ‚ΡƒΠ½Π΅Π», Π° ΠΏΡ€Π΅Π· Π½Π΅Π³ΠΎ RDP.
  • ЛСсно настройванС
    Бмятам, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ.
  • Бкорост Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½Π°Ρ‚Π° машина
    Няма Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ интСрфСйс, спСстяват сС ΠΊΠ°ΠΊΡ‚ΠΎ рСсурситС Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, Ρ‚Π°ΠΊΠ° ΠΈ количСството ΠΏΡ€Π΅Π΄Π°Π²Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ.

ΠΠ΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈ:

  • НС замСня напълно RDP.
    НС всичко ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΎΡ‚ ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π°, ΡƒΠ²ΠΈ. Имам ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ситуации, Π² ΠΊΠΎΠΈΡ‚ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ GUI.

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΡ‚Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² статията:
Π’Ρ€ΡŠΠ·ΠΊΠ° към самия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ Π½Π° инсталацията бСзсрамно са ΠΊΠΎΠΏΠΈΡ€Π°Π½ΠΈ ΠΎΡ‚ Ansible docs.

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster