เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš Windows เบœเปˆเบฒเบ™ SSH เป€เบŠเบฑเปˆเบ™ Linux

เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบญเบธเบโ€‹เบญเบฑเปˆเบ‡โ€‹เบชเบฐโ€‹เป€เบซเบกเบตโ€‹เป‚เบ”เบโ€‹เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹เบเบฑเบšโ€‹เป€เบ„เบทเปˆเบญเบ‡ Windowsโ€‹. เบšเปเปˆ, เบ‚เป‰เบญเบเบšเปเปˆเปเบกเปˆเบ™ opponent เบซเบผเบทเบœเบนเป‰เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Microsoft เปเบฅเบฐเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ. เปเบ•เปˆเบฅเบฐเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบกเบตเบขเบนเปˆเบชเปเบฒเบฅเบฑเบšเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เปเบ•เปˆเบ™เบฑเป‰เบ™เบšเปเปˆเปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบ™เบตเป‰เปเบกเปˆเบ™เบเปˆเบฝเบงเบเบฑเบš.
เบกเบฑเบ™เบชเบฐเป€เบซเบกเบตเป€เบˆเบฑเบšเบ›เบงเบ”เบขเปˆเบฒเบ‡เบซเบ™เบฑเบเปเบซเบ™เป‰เบ™เบชเปเบฒเบฅเบฑเบšเบ‚เป‰เบญเบเบ—เบตเปˆเบˆเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡ Windows, เป€เบžเบฒเบฐเบงเปˆเบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบœเปˆเบฒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ”เบฝเบง (เบชเบฐเบšเบฒเบเบ”เบต WinRM เบเบฑเบš HTTPS) เบซเบผเบทเป€เบฎเบฑเบ”เบงเบฝเบเบšเปเปˆเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เบซเบผเบฒเบ (เบชเบฐเบšเบฒเบเบ”เบต RDP เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡ virtual เบขเบนเปˆเบ•เปˆเบฒเบ‡เบ›เบฐเป€เบ—เบ”).

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบšเบฑเบ‡เป€เบญเบตเบ™เบกเบฒเบ‚เป‰เบฒเบกเป‚เบ„เบ‡เบเบฒเบ™ Win32-OpenSSH, เบ‚เป‰เบญเบเบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเปเบšเปˆเบ‡เบ›เบฑเบ™เบ›เบฐเบชเบปเบšเบเบฒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ‚เบญเบ‡เบ‚เป‰เบญเบ. เบšเบฒเบ‡เบ—เบตเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ™เบตเป‰เบˆเบฐเบŠเปˆเบงเบเบ›เบฐเบขเบฑเบ”เบ„เบปเบ™เบซเบผเบฒเบเบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบ›เบฐเบชเบฒเบ”.

เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš Windows เบœเปˆเบฒเบ™ SSH เป€เบŠเบฑเปˆเบ™ Linux

เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡โ€‹:

  1. เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡
  2. เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™ เบŠเบธเบ” Chocolatey
  3. Via Ansible, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡เบžเบฒเบฅเบฐเบšเบปเบ”เบšเบฒเบ” jborean93.win_openssh

เบ•เปเปˆเป„เบ›, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบˆเบธเบ”เบ—เปเบฒเบญเบดเบ”, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เบซเบผเบฒเบเบซเบผเบทเบซเบ™เป‰เบญเบเบเบฑเบšเบชเปˆเบงเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญ.

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบขเบฒเบเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเป‚เบ„เบ‡เบเบฒเบ™เบ™เบตเป‰เบเบฑเบ‡เบขเบนเปˆเปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เป€เบšเบ•เป‰เบฒ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ”เบฒเบงเบ™เปŒเป‚เบซเบฅเบ”เบชเบฐเบšเบฑเบšเบซเบฅเป‰เบฒเบชเบธเบ”, เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบฑเบ™เปเบกเปˆเบ™ 7.9.0.0p1-beta. เบกเบตเบชเบฐเบšเบฑเบšเบชเปเบฒเบฅเบฑเบšเบ—เบฑเบ‡เบชเบญเบ‡เบฅเบฐเบšเบปเบš 32 เปเบฅเบฐ 64 เบšเบดเบ”.

เบ–เบญเบ”เบซเปเปˆเป€เบ‚เบปเป‰เบฒ C:Program FilesOpenSSH
เบˆเบธเบ”เบšเบฑเบ‡เบ„เบฑเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡: เบžเบฝเบ‡เปเบ•เปˆ SYSTEM เปเบฅเบฐเบเบธเปˆเบกเบšเปเบฅเบดเบซเบฒเบ™.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบšเปเบฅเบดเบเบฒเบ™เป‚เบ”เบเปƒเบŠเป‰ script เบ•เบดเบ”เบ•เบฑเป‰เบ‡-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

เบ„เปเบฒเบŠเบตเป‰เปเบˆเบ‡: applet New-NetFirewallRule เปƒเบŠเป‰เปƒเบ™ Windows Server 2012 เปเบฅเบฐเบ•เปเปˆเบกเบฒ. เปƒเบ™เบฅเบฐเบšเบปเบšเป€เบเบปเปˆเบฒเปเบเปˆเบ—เบตเปˆเบชเบธเบ” (เบซเบผเบท desktop) เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡:

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

เบกเบฒเป€เบฅเบตเปˆเบกเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™:

net start sshd

เปƒเบ™เบ•เบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบ›เบธเปˆเบกเป‚เบฎเบชเบˆเบฐเบ–เบทเบเบชเป‰เบฒเบ‡เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ” (เบ–เป‰เบฒเบ‚เบฒเบ”เบซเบฒเบเป„เบ›) เปƒเบ™ %programdata%ssh

เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบ›เบตเบ”เปƒเบŠเป‰ autostart เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบกเบทเปˆเบญเบฅเบฐเบšเบปเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡:

Set-Service sshd -StartupType Automatic

เบ™เบญเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™ shell เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡, เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ 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), เบ—เบตเปˆเบ„เบงเบ™เปเบ•เปˆเบšเปเปˆเบกเบตเบžเบฑเบ™เบ—เบฐเปƒเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบชเบดเบ”เบ—เบด, เบฅเบงเบกเบ—เบฑเบ‡เบเบฑเบš เบญเบฐเบ™เบธเบเบฒเบ”, เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเป„เบ”เป‰เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™.

เบขเปˆเบฒเบฅเบทเบกเป€เบ›เบตเบ”เบšเปเบฅเบดเบเบฒเบ™เบ„เบทเบ™เปƒเปเปˆ ssh เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹.

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>

เบ‚เปเป‰เบ”เบต/เบ‚เปเป‰เป€เบชเบเบ‚เบญเบ‡เบซเบปเบงเบ‚เปเป‰.

Pros:

  • เบงเบดเบ—เบตเบเบฒเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เป€เบžเบทเปˆเบญเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ.
    เป€เบกเบทเปˆเบญเบกเบตเป€เบ„เบทเปˆเบญเบ‡ Windows เปœเป‰เบญเบ, เบกเบฑเบ™เบšเปเปˆเบชเบฐเบ”เบงเบเบซเบผเบฒเบเป€เบกเบทเปˆเบญ:
    เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ›เป‚เบ”เบเบœเปˆเบฒเบ™ ssh, เปเบฅเบฐเปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ rdp,
    เปเบฅเบฐเป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบเบฑเบš bastions เปเบกเปˆเบ™เบ—เปเบฒเบญเบดเบ” tunnel ssh, เปเบฅเบฐ RDP เบœเปˆเบฒเบ™เบกเบฑเบ™.
  • เบ„เบงเบฒเบกโ€‹เบ‡เปˆเบฒเบโ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡โ€‹
    เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ„เบดเบ”เบงเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบˆเบฐเปเบˆเป‰เบ‡.
  • เบ„เบงเบฒเบกเป„เบงเบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบฅเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบ
    เบšเปเปˆเบกเบตเปเบเบฐเบเบฒเบŸเบดเบ, เบ›เบฐเบซเบเบฑเบ”เบ—เบฑเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปเบฅเบฐเบˆเปเบฒเบ™เบงเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบชเบปเปˆเบ‡เบœเปˆเบฒเบ™.

Cons:

  • เบšเปเปˆเป„เบ”เป‰เบ—เบปเบ”เปเบ—เบ™ RDP เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™.
    เบšเปเปˆเปเบกเปˆเบ™เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เบˆเบฒเบ console, เบญเบฐเบ™เบดเบˆเบฒ. เบ‚เป‰เบญเบเบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™ GUI.

เบงเบฑเบ”เบชเบฐเบ”เบธเบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบก:
เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡
เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡โ€‹เปเบกเปˆเบ™โ€‹เบ„เบฑเบ”โ€‹เบฅเบญเบ shamelessly เบˆเบฒเบโ€‹ เป€เบญเบเบฐเบชเบฒเบ™เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเปƒเบˆเป„เบ”เป‰.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™