Vždy mě frustrovalo připojení k počítačům s Windows. Ne, nejsem odpůrcem ani zastáncem Microsoftu a jeho produktů. Každý produkt existuje pro svůj vlastní účel, ale o tom to není.
Vždy pro mě bylo nesnesitelně bolestivé připojovat se k serverům Windows, protože tato připojení jsou buď nakonfigurována přes jedno místo (ahoj WinRM s HTTPS), nebo nefungují příliš stabilně (ahoj RDP k virtuálním strojům v zámoří).
Proto, když jsem náhodou narazil na projekt Win32-OpenSSH, rozhodl jsem se podělit o své zkušenosti s nastavením. Snad někomu tato pomůcka ušetří spoustu nervů.
Upřesnění: applet Nové pravidlo NetFirewall používá se na Windows Server 2012 a novějších. V nejstarších systémech (nebo desktopech) můžete použít příkaz:
A pak jsme to nastavili sshd_config, do kterého umístíme C: Data programu. Například:
PasswordAuthentication no
PubkeyAuthentication yes
A vytvořte adresář ve složce uživatele .ssha v něm soubor autorizované_klíče. Tam si zapíšeme veřejné klíče.
Důležité upřesnění: právo zapisovat do tohoto souboru by měl mít pouze uživatel, v jehož adresáři se soubor nachází.
Ale pokud s tím máte problémy, můžete vždy vypnout kontrolu práv v konfiguraci:
StrictModes no
Mimochodem, v C:Program FilesOpenSSH jsou 2 skripty (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), které by měly, ale nejsou povinny opravit práva, včetně s autorizované_klíče, ale z nějakého důvodu se nezaregistrují.
Nezapomeňte restartovat službu sshd poté, abyste použili změny.
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>
Subjektivní pro/proti.
výhody:
Standardní přístup k připojení k serverům. Když je počítačů se systémem Windows málo, je velmi nepohodlné, když:
Takže tady jdeme přes ssh a tady používáme rdp,
a obecně, nejlepší praxí s baštami je nejprve ssh tunel a RDP skrz něj.
Snadné nastavení Myslím, že to je zřejmé.
Rychlost připojení a práce se vzdáleným strojem Neexistuje žádný grafický shell, který šetří jak zdroje serveru, tak množství přenášených dat.
nevýhody:
Nenahrazuje zcela RDP. Bohužel ne všechno lze dělat z konzole. Mám na mysli situace, kdy je vyžadováno GUI.