рд▓рд┐рдирдХреНрд╕ рд╕рд╛рд░рдЦреНрдпрд╛ SSH рджреНрд╡рд╛рд░реЗ Windows рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдгреЗ

рдореА рдиреЗрд╣рдореА Windows рдорд╢реАрдирд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░реВрди рдирд┐рд░рд╛рд╢ рдЭрд╛рд▓реЛ рдЖрд╣реЗ. рдирд╛рд╣реА, рдореА Microsoft рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЙрддреНрдкрд╛рджрдирд╛рдВрдЪрд╛ рд╡рд┐рд░реЛрдзрдХ рдХрд┐рдВрд╡рд╛ рд╕рдорд░реНрдердХ рдирд╛рд╣реА. рдкреНрд░рддреНрдпреЗрдХ рдЙрддреНрдкрд╛рджрди рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдЙрджреНрджреЗрд╢рд╛рд╕рд╛рдареА рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╣реЗ рддреНрдпрд╛рдмрджреНрджрд▓ рдирд╛рд╣реА.
рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡реНрд╣рд░рд╢реА рдХрдиреЗрдХреНрдЯ рд╣реЛрдгреЗ рдорд╛рдЭреНрдпрд╛рд╕рд╛рдареА рдиреЗрд╣рдореАрдЪ рдЕрддреНрдпрдВрдд рдХреНрд▓реЗрд╢рджрд╛рдпрдХ рд╣реЛрддреЗ, рдХрд╛рд░рдг рд╣реЗ рдХрдиреЗрдХреНрд╢рди рдПрдХрддрд░ рдПрдХрд╛рдЪ рдард┐рдХрд╛рдгреА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд (Hello WinRM with HTTPS) рдХрд┐рдВрд╡рд╛ рдлрд╛рд░рд╕реЗ рд╕реНрдерд┐рд░рдкрдгреЗ рдХрд╛рдо рдХрд░рдд рдирд╛рд╣реАрдд (рдкрд░рджреЗрд╢рд╛рдд рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирд╕рд╛рдареА рд╣реЕрд▓реЛ рдЖрд░рдбреАрдкреА).

рддреНрдпрд╛рдореБрд│реЗ рдЪреБрдХреВрди рдкреНрд░рдХрд▓реНрдкрд╛рдд рдЖрд▓реЛ Win32-OpenSSH, рдореА рдорд╛рдЭрд╛ рд╕реЗрдЯрдЕрдк рдЕрдиреБрднрд╡ рд╢реЗрдЕрд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛. рдХрджрд╛рдЪрд┐рдд рд╣реЗ рд╕рд╛рдзрди рдПрдЦрд╛рджреНрдпрд╛рд▓рд╛ рдмрд░реНрдпрд╛рдЪ рдирд╕рд╛ рд╡рд╛рдЪрд╡реЗрд▓.

рд▓рд┐рдирдХреНрд╕ рд╕рд╛рд░рдЦреНрдпрд╛ SSH рджреНрд╡рд╛рд░реЗ Windows рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдгреЗ

рд╕реНрдерд╛рдкрдирд╛ рдкрд░реНрдпрд╛рдп:

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

рдкреБрдвреЗ, рдореА рдкрд╣рд┐рд▓реНрдпрд╛ рдореБрджреНрджреНрдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓реЗрди, рдХрд╛рд░рдг рдмрд╛рдХреАрдЪреНрдпрд╛рдВрд╕рд╣ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдХрдореА-рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ.

рдореА рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡реВ рдЗрдЪреНрдЫрд┐рддреЛ рдХреА рд╣рд╛ рдкреНрд░рдХрд▓реНрдк рдЕрджреНрдпрд╛рдк рдмреАрдЯрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рдЖрд╣реЗ, рдореНрд╣рдгреВрди рдЙрддреНрдкрд╛рджрдирд╛рдд рддреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реЗрд▓реА рдирд╛рд╣реА.

рддрд░, рдирд╡реАрдирддрдо рдкреНрд░рдХрд╛рд╢рди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рд╛, рд╕рдзреНрдпрд╛ рддреЗ рдЖрд╣реЗ 7.9.0.0p1-рдмреАрдЯрд╛. рджреЛрдиреНрд╣реА 32 рдЖрдгрд┐ 64 рдмрд┐рдЯ рд╕рд┐рд╕реНрдЯрдорд╕рд╛рдареА рдЖрд╡реГрддреНрддреНрдпрд╛ рдЖрд╣реЗрдд.

рдордзреНрдпреЗ рдЕрдирдкреЕрдХ рдХрд░рд╛ рд╕реА: рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд╛рдЗрд▓реНрд╕ рдУрдкрдирдПрд╕рдПрд╕рдПрдЪ
рдпреЛрдЧреНрдп рдСрдкрд░реЗрд╢рдирд╕рд╛рдареА рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рдореБрджреНрджрд╛: рдлрдХреНрдд рд╕рд┐рд╕реНрдЯрдо рдЖрдгрд┐ рдкреНрд░рд╢рд╛рд╕рдХ рдЧрдЯ.

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рдкрд░реВрди рд╕реЗрд╡рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ 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 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

рддреБрдореНрд╣реА рдбреАрдлреЙрд▓реНрдЯ рдХрдорд╛рдВрдб рд╢реЗрд▓ рджреЗрдЦреАрд▓ рдмрджрд▓реВ рд╢рдХрддрд╛ (рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рдирдирдВрддрд░, рдбреАрдлреЙрд▓реНрдЯ рдЖрд╣реЗ рд╕реАрдПрдордбреА):

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

рддрд╕реЗ, рдордзреНрдпреЗ рд╕реА: рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд╛рдЗрд▓реНрд╕ рдУрдкрдирдПрд╕рдПрд╕рдПрдЪ 2 рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрд╣реЗрдд (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), рдЬреЗ рдпрд╛рд╕рд╣, рдЕрдзрд┐рдХрд╛рд░ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдмрд╛рдВрдзреАрд▓ рдирд╕рд╛рд╡реЗ рдЕрдзрд┐рдХреГрдд_рдХреА, рдкрд░рдВрддреБ рдХрд╛рд╣реА рдХрд╛рд░рдгрд╛рд╕реНрддрд╡ рддреЗ рдиреЛрдВрджрдгреА рдХрд░рдд рдирд╛рд╣реАрдд.

рд╕реЗрд╡рд╛ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рд╛рдпрд▓рд╛ рд╡рд┐рд╕рд░реВ рдирдХрд╛ рдПрд╕рдПрд╕рдбреА рдмрджрд▓ рд▓рд╛рдЧреВ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░.

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 рдкреВрд░реНрдгрдкрдгреЗ рдмрджрд▓рдд рдирд╛рд╣реА.
    рдХрдиреНрд╕реЛрд▓рдордзреВрди рд╕рд░реНрд╡ рдХрд╛рд╣реА рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реА, рдЕрд░реЗрд░реЗ. рдореНрд╣рдгрдЬреЗ рдЬреНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд GUI рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рд▓реЗрдЦрд╛рдд рд╡рд╛рдкрд░рд▓реЗрд▓реА рд╕рд╛рдордЧреНрд░реА:
рдкреНрд░рдХрд▓реНрдкрд╛рдЪреАрдЪ рд▓рд┐рдВрдХ
рд╕реНрдерд╛рдкрдирд╛ рдкрд░реНрдпрд╛рдп рдирд┐рд░реНрд▓рдЬреНрдЬрдкрдгреЗ рдХреЙрдкреА рдХреЗрд▓реЗ рдЖрд╣реЗрдд рдЙрддреНрддрд░рджрд╛рдпреА рдбреЙрдХреНрд╕.

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛