рд▓рд┐рдирдХреНрд╕ рдЬрд╕реНрддреИ SSH рдорд╛рд░реНрдлрдд Windows рдорд╛ рдЬрдбрд╛рди рдЧрд░реНрджреИ

рдо рд╕рдзреИрдВ рд╡рд┐рдиреНрдбреЛрдЬ рдореЗрд╕рд┐рдирд╣рд░реВрдорд╛ рдЬрдбрд╛рди рдЧрд░реЗрд░ рдирд┐рд░рд╛рд╢ рднрдПрдХреЛ рдЫреБред рд╣реЛрдЗрди, рдо рдорд╛рдЗрдХреНрд░реЛрд╕рдлреНрдЯ рд░ рддрд┐рдиреАрд╣рд░реВрдХрд╛ рдЙрддреНрдкрд╛рджрдирд╣рд░реВрдХреЛ рд╡рд┐рдкрдХреНрд╖реА рд╡рд╛ рд╕рдорд░реНрдердХ рд╣реЛрдЗрдиред рдкреНрд░рддреНрдпреЗрдХ рдЙрддреНрдкрд╛рджрди рдпрд╕рдХреЛ рдЖрдлреНрдиреИ рдЙрджреНрджреЗрд╢реНрдпрдХреЛ рд▓рд╛рдЧрд┐ рдЕрд╡рд╕реНрдерд┐рдд рдЫ, рддрд░ рдпреЛ рдХреЗ рд╣реЛ рднрдиреНрдиреЗ рд╣реЛрдЗрдиред
рд╡рд┐рдиреНрдбреЛрдЬ рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рдЬрдбрд╛рди рдЧрд░реНрди рдореЗрд░реЛ рд▓рд╛рдЧрд┐ рд╕рдзреИрдВ рдХрд╖реНрдЯрджрд╛рдпреА рд░реВрдкрдорд╛ рдкреАрдбрд╛рджрд╛рдпреА рднрдПрдХреЛ рдЫ, рдХрд┐рдирднрдиреЗ рдпреА рдЬрдбрд╛рдирд╣рд░реВ рдпрд╛ рдд рдПрдХ рдард╛рдЙрдБрдмрд╛рдЯ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН (Hello WinRM HTTPS рд╕рдБрдЧ) рд╡рд╛ рдзреЗрд░реИ рд╕реНрдерд┐рд░ рдХрд╛рдо рдЧрд░реНрджреИрдирдиреН (рд╡рд┐рджреЗрд╢рдорд╛ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВрдорд╛ рдирдорд╕реНрдХрд╛рд░ RDP)ред

рддрд╕рд░реНрде, рд╕рдВрдпреЛрдЧрд╡рд╢ рдкрд░рд┐рдпреЛрдЬрдирд╛ рднрд░рд┐ рдЖрдП Win32-OpenSSH, рдореИрд▓реЗ рдореЗрд░реЛ рд╕реЗрдЯрдЕрдк рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВред рд╕рд╛рдпрдж рдпреЛ рдЙрдкрдХрд░рдгрд▓реЗ рдХрд╕реИрд▓рд╛рдИ рдзреЗрд░реИ рд╕реНрдирд╛рдпреБрд╣рд░реВ рдмрдЪрд╛рдЙрдиреЗрдЫред

рд▓рд┐рдирдХреНрд╕ рдЬрд╕реНрддреИ SSH рдорд╛рд░реНрдлрдд Windows рдорд╛ рдЬрдбрд╛рди рдЧрд░реНрджреИ

рд╕реНрдерд╛рдкрдирд╛ рд╡рд┐рдХрд▓реНрдк:

  1. рд╣рд╛рддрджреНрд╡рд╛рд░рд╛
  2. рджреНрд╡рд╛рд░рд╛ рдкреНрдпрд╛рдХреЗрдЬ рдЪрдХрд▓реЗрдЯрд░реА
  3. Ansible рдорд╛рд░реНрдлрдд, рдЙрджрд╛рд╣рд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рднреВрдорд┐рдХрд╛ jborean93.win_openssh

рдЕрд░реНрдХреЛ, рдо рдкрд╣рд┐рд▓реЛ рдмрд┐рдиреНрджреБрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреБ, рдХрд┐рдирдХрд┐ рдмрд╛рдБрдХреАрд╕рдБрдЧ рд╕рдмреИ рдХреБрд░рд╛ рдХрдо рд╡рд╛ рдХрдо рд╕реНрдкрд╖реНрдЯ рдЫред

рдо рдиреЛрдЯ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБ рдХрд┐ рдпреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЕрдЭреИ рдмреАрдЯрд╛ рдЪрд░рдгрдорд╛ рдЫ, рддреНрдпрд╕реИрд▓реЗ рдпрд╕рд▓рд╛рдИ рдЙрддреНрдкрд╛рджрдирдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░рд┐рдПрдХреЛ рдЫреИрдиред

рддреНрдпрд╕реЛрднрдП, рднрд░реНрдЦрд░рдХреЛ рд░рд┐рд▓реАрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдпрд╕ рд╕рдордпрдорд╛ рдпреЛ рд╣реЛ 7.9.0.0p1-рдмреАрдЯрд╛ред рддреНрдпрд╣рд╛рдБ рджреБрдмреИ 32 рд░ 64 рдмрд┐рдЯ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рдЫрдиреНред

рдЕрдирдкреНрдпрд╛рдХ рдЗрди рдЧрд░реНрдиреБрд╣реЛрд╕реН C: рдХрд╛рд░реНрдпрдХреНрд░рдо рдлрд╛рдЗрд▓рд╣рд░реВ рдУрдкрдирдПрд╕рдПрд╕рдПрдЪ
рд╕рд╣реА рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрдирд┐рд╡рд╛рд░реНрдп рдмрд┐рдиреНрджреБ: рдорд╛рддреНрд░ рдкреНрд░рдгрд╛рд▓реА рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╕рдореВрд╣ред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕реЗрд╡рд╛рд╣рд░реВ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджреИ 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

рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: рдПрдкреНрд▓реЗрдЯ рдирдпрд╛рдБ-NetFirewallRule Windows рд╕рд░реНрднрд░ 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: рдХрд╛рд░реНрдпрдХреНрд░рдо рдлрд╛рдЗрд▓рд╣рд░реВ рдУрдкрдирдПрд╕рдПрд╕рдПрдЪ рддреНрдпрд╣рд╛рдБ 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>

рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдлрд╛рдЗрджрд╛/рд╡рд┐рдкрдХреНрд╖ред

рдкреНрд░реЛ:

  • рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рдЬрдбрд╛рди рдЧрд░реНрди рдорд╛рдирдХ рджреГрд╖реНрдЯрд┐рдХреЛрдгред
    рдЬрдм рддреНрдпрд╣рд╛рдБ рдХреЗрд╣рд┐ рд╡рд┐рдиреНрдбреЛрдЬ рдорд┐рд╕рд┐рдирд╣рд░реВ рдЫрдиреН, рдпреЛ рдзреЗрд░реИ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫ рдЬрдм:
    рддреНрдпрд╕реИрд▓реЗ, рдпрд╣рд╛рдБ рд╣рд╛рдореА ssh рдорд╛рд░реНрдлрдд рдЬрд╛рдиреНрдЫреМрдВ, рд░ рдпрд╣рд╛рдБ рд╣рд╛рдореА rdp рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ,
    рд░ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдмреБрд░реНрдЬрд╛рд╣рд░реВрд╕рдБрдЧ рд╕рдмреИрднрдиреНрджрд╛ рд░рд╛рдореНрд░реЛ рдЕрднреНрдпрд╛рд╕ рдкрд╣рд┐рд▓реЛ ssh рд╕реБрд░реБрдЩ рд╣реЛ, рд░ рдпрд╕рдХреЛ рдорд╛рдзреНрдпрдордмрд╛рдЯ RDPред
  • рд╕реЗрдЯрдЕрдк рдХреЛ рд╕рдЬрд┐рд▓реЛ
    рдорд▓рд╛рдИ рд▓рд╛рдЧреНрдЫ рдпреЛ рд╕реНрдкрд╖реНрдЯ рдЫред
  • рд░рд┐рдореЛрдЯ рдореЗрд╕рд┐рдирдХреЛ рд╕рд╛рде рдЬрдбрд╛рди рд░ рдХрд╛рдордХреЛ рдЧрддрд┐
    рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд╢реЗрд▓ рдЫреИрди, рджреБрдмреИ рд╕рд░реНрднрд░ рд╕реНрд░реЛрддрд╣рд░реВ рд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдбрд╛рдЯрд╛рдХреЛ рдорд╛рддреНрд░рд╛ рдмрдЪрдд рдЧрд░реНрджреИред

Cons:

  • RDP рд▓рд╛рдИ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрджреИрдиред
    рд╕рдмреИ рдХреБрд░рд╛ рдХрдиреНрд╕реЛрд▓рдмрд╛рдЯ рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрди, рдЕрдлрд╕реЛрд╕ред рдореЗрд░реЛ рдорддрд▓рдм рдкрд░рд┐рд╕реНрдерд┐рддрд┐рд╣рд░реВ рдЬрд╣рд╛рдБ GUI рдЖрд╡рд╢реНрдпрдХ рдЫред

рд▓реЗрдЦрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ:
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЖрдлреИрдорд╛ рд▓рд┐рдЩреНрдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН
рд╕реНрдерд╛рдкрдирд╛ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдирд┐рд░реНрд▓рдЬреНрдЬ рд░реВрдкрдорд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН рдЙрддреНрддрд░рджрд╛рдпреА рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ.

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди