Отсекогаш сум бил фрустриран од поврзувањето со Windows машини. Не, јас не сум ниту противник, ниту поддржувач на Мајкрософт и нивните производи. Секој производ постои за своја цел, но не се работи за тоа.
Отсекогаш ми беше мачно болно да се поврзам со серверите на Windows, бидејќи овие врски се или конфигурирани на едно место (здраво WinRM со HTTPS) или не работат многу стабилно (здраво RDP за виртуелни машини во странство).
Затоа, случајно наидов на проектот Win32-OpenSSH, решив да го споделам моето искуство за поставување. Можеби оваа алатка ќе заштеди некого многу нерви.
Појаснување: аплет Ново-NetFirewallRule се користи на Windows Server 2012 и подоцна. Во најстарите системи (или десктоп) можете да ја користите командата:
И тогаш го поставивме sshd_config, кој ќе го сместиме В:Програмски податоци. На пример:
PasswordAuthentication no
PubkeyAuthentication yes
И креирајте директориум во корисничката папка .сш, а во него датотеката овластено. Таму ги запишуваме јавните клучеви.
Важно појаснување: само корисникот во чиј директориум се наоѓа датотеката треба да има право да пишува на оваа датотека.
Но, ако имате проблеми со ова, секогаш можете да ја исклучите проверката на правата во конфигурацијата:
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>
Субјективни добрите / лошите страни.
Позитивни:
Стандарден пристап за поврзување со сервери. Кога има малку Windows машини, многу е незгодно кога:
Значи, овде одиме преку ssh, а овде користиме rdp,
и општо, најдобрата практика со бастиони е прво ssh тунел, и RDP низ него.
Лесно се поставува Мислам дека ова е очигледно.
Брзина на поврзување и работа со далечинска машина Нема графичка обвивка, заштедувајќи ги и ресурсите на серверот и количината на пренесени податоци.
Конс:
Не го заменува целосно RDP. Не може сè да се направи од конзолата, за жал. Мислам на ситуации кога е потребен GUI.