ΠΠΈΠ½Π°Π³ΠΈ ΠΌΠ΅ Π΅ ΠΏΠΎΡΠΈΡΠΊΠ°Π»ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ Ρ Windows ΠΌΠ°ΡΠΈΠ½ΠΈ. ΠΠ΅, Π½Π΅ ΡΡΠΌ ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊ ΠΈ Π½Π΅ ΡΡΠΌ ΠΏΡΠΈΠ²ΡΡΠΆΠ΅Π½ΠΈΠΊ Π½Π° Microsoft ΠΈ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ. ΠΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° Π·Π° ΡΠ²ΠΎΡ ΡΠ΅Π», Π½ΠΎ ΡΠΎΠ²Π° Π½Π΅ Π΅ ΡΠ΅ΠΌΠ°ΡΠ°.
ΠΠΈΠ½Π°Π³ΠΈ ΠΌΠΈ Π΅ Π±ΠΈΠ»ΠΎ ΠΌΡΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°ΠΌ ΡΡΡ ΡΡΡΠ²ΡΡΠΈ ΠΏΠΎΠ΄ Windows, Π·Π°ΡΠΎΡΠΎ ΡΠ΅Π·ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠ²Π°Ρ ΠΏΠΎ ΡΡΡΠ°Π½Π΅Π½ Π½Π°ΡΠΈΠ½ (Π·Π΄ΡΠ°Π²Π΅ΠΉ, WinRM Ρ HTTPS), ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΡΡ Π½Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎ (Π·Π΄ΡΠ°Π²Π΅ΠΉ, RDP ΠΊΡΠΌ Π²ΠΈΡΡΡΠ°Π»ΠΊΠΈ Π·Π°Π΄ ΠΎΠΊΠ΅Π°Π½Π°).
ΠΠ°ΡΠΎΠ²Π°, ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π½Π°ΡΡΠΊΠ²Π°ΠΉΠΊΠΈ ΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° , ΡΠ΅ΡΠΈΡ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»Ρ ΠΎΠΏΠΈΡΠ° ΡΠΈ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ°. ΠΠΎΠΆΠ΅ Π±ΠΈ Π½Π° Π½ΡΠΊΠΎΠΉ ΡΠ΅ ΠΌΡ ΡΠΏΠ΅ΡΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΡΠ²ΠΈ.

ΠΠ΅ΡΠΎΠ΄ΠΈ Π½Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅:
- Π§ΡΠ΅Π· Chocolatey
- ΠΡΠ΅Π· Ansible, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ»Ρ
ΠΠΎ-Π½Π°ΡΠ°ΡΡΠΊ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ Π·Π° ΠΏΡΡΠ²Π°ΡΠ° ΡΠΎΡΠΊΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Ρ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ Π΅ Π΄ΠΎΡΡΠ° ΡΡΠ½ΠΎ.
ΠΠ°Π±Π΅Π»ΡΠ·Π²Π°ΠΌ, ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ Π² Π±Π΅ΡΠ° ΡΡΠ°Π΄ΠΈΠΉ, Π·Π°ΡΠΎΠ²Π° Π½Π΅ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ.
Π ΡΠ°ΠΊΠ°, ΠΈΠ·ΡΠ΅Π³Π»ΡΠΌΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ΅Π»ΠΈΠΉΠ·, ΠΊΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠΎΠ²Π° Π΅ . ΠΠΌΠ° Π²Π΅ΡΡΠΈΠΈ ΠΊΠ°ΠΊΡΠΎ Π·Π° 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.
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΡΡΠ°ΡΠΈΡΡΠ°:
ΠΠ°ΡΠΈΠ°Π½ΡΠΈ Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° Π±Π΅Π·ΡΡΠ°ΠΌΠ½ΠΎ ΡΠ° ΠΊΠΎΠΏΠΈΡΠ°Π½ΠΈ ΠΎΡ .
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
