ΠΠ΅Π½Ρ Π²ΡΠ΅Π³Π΄Π° ΡΠ΄ΡΡΡΠ°Π»ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Windows ΠΌΠ°ΡΠΈΠ½Π°ΠΌ. ΠΠ΅Ρ, Ρ Π½Π΅ ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊ ΠΈ Π½Π΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΊ Microsoft ΠΈ ΠΈΡ
ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ΅Π»ΠΈ, Π½ΠΎ ΡΠ΅ΡΡ Π½Π΅ ΠΎΠ± ΡΡΠΎΠΌ.
ΠΠ»Ρ ΠΌΠ΅Π½Ρ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»ΠΎ ΠΌΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ Ρ Windows, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π»ΠΈΠ±ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΎΠ΄Π½ΠΎ ΠΌΠ΅ΡΡΠΎ (ΠΏΡΠΈΠ²Π΅Ρ WinRM Ρ HTTPS) Π»ΠΈΠ±ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ (Π·Π΄ΡΠ°Π²ΡΡΠ²ΡΠΉ RDP ΠΊ Π²ΠΈΡΡΡΠ°Π»ΠΊΠ°ΠΌ Π·Π° ΠΎΠΊΠ΅Π°Π½ΠΎΠΌ).
ΠΠΎΡΡΠΎΠΌΡ, ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π½Π°ΡΠΎΠ»ΠΊΠ½ΡΠ²ΡΠΈΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡ
ΠΠ°ΡΠΈΠ°Π½ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ:
ΠΡΡΡΠ½ΡΡ - Π§Π΅ΡΠ΅Π·
ΠΏΠ°ΠΊΠ΅Ρ Chocolatey - Π§Π΅ΡΠ΅Π· Ansible, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ»Ρ
jborean93.win_openssh
ΠΠ°Π»Π΅Π΅ Ρ Π±ΡΠ΄Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠ½ΠΊΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΈ ΡΠ°ΠΊ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ.
ΠΡΠΌΠ΅ΡΡ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠΊΠ° ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ beta, ΠΏΠΎΡΡΠΎΠΌΡ Π΅Π³ΠΎ Π½Π΅ ΡΠ΅ΠΊΡΠΌΠ΅Π½Π΄ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² production.
ΠΡΠ°ΠΊ, ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ΅Π»ΠΈΠ·, Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠΎ
Π Π°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΠΌ Π² 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 [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, Π° ΡΡΡ ΡΠ΄ΠΏ,
ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ best-practice Ρ Π±Π°ΡΡΠΈΠΎΠ½Π°ΠΌΠΈ, ΡΠ½Π°ΡΠ°Π»Π° ssh-ΡΡΠ½Π½Π΅Π»Ρ, Π° ΡΠ΅ΡΠ΅Π· Π½Π΅Π³ΠΎ RDP. - ΠΡΠΎΡΡΠΎΡΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ
Π‘ΡΠΈΡΠ°Ρ ΡΡΠΎ ΡΡΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ. - Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ
ΠΠ΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΡΠΊΠΎΠ½ΠΎΠΌΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅ΡΡΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠ°ΠΊ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠΈΠ½ΡΡΡ:
- ΠΠ΅ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ RDP ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ.
ΠΠ΅ Π²ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΡΠ²Ρ. Π― ΠΈΠΌΠ΅Ρ Π²Π²ΠΈΠ΄Ρ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ GUI.
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΡΡΠ°ΡΡΠ΅:
ΠΠ°ΡΠΈΠ°Π½ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±Π΅ΡΡΠΎΠ²Π΅ΡΡΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Ρ Ρ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com