Verbindung mat Windows iwwer SSH wéi Linux

Ech war ëmmer frustréiert duerch Verbindung mat Windows Maschinnen. Nee, ech si weder e Géigner nach e Supporter vu Microsoft an hire Produkter. All Produkt existéiert fir säin eegenen Zweck, awer dat ass net ëm wat et geet.
Et war ëmmer schmerzhaft fir mech fir mech mat Windows Serveren ze verbannen, well dës Verbindungen entweder iwwer eng Plaz konfiguréiert sinn (Moien WinRM mat HTTPS) oder funktionnéieren net ganz stabil (Moien RDP zu virtuelle Maschinnen am Ausland).

Dofir, zoufälleg op de Projet kommen Win32-OpenSSH, Ech hu beschloss meng Setuperfahrung ze deelen. Vläicht wäert dëst Tool engem vill Nerven retten.

Verbindung mat Windows iwwer SSH wéi Linux

Installatioun Optiounen:

  1. Manuell
  2. Duerch den пакет Chocolaté
  3. Via Ansible, zum Beispill Roll jborean93.win_openssh

Als nächst wäert ech iwwer den éischte Punkt schwätzen, well mam Rescht ass alles méi oder manner kloer.

Ech wëll bemierken datt dëse Projet nach ëmmer an der Beta-Bühn ass, also ass et net recommandéiert et an der Produktioun ze benotzen.

Also, download déi lescht Verëffentlechung, am Moment ass et 7.9.0.0p1-Beta. Et gi Versioune fir béid 32 an 64 Bit Systemer.

Auspacken an C:ProgrammdateienOpenSSH
Eng obligatoresch Punkt fir richteg Operatioun: nëmmen de SYSTEM an den Admin Grupp.

Installéiere Servicer mat engem Skript install-sshd.ps1 an dësem Verzeechnes läit

powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

Erlaabt erakommen Verbindungen um Hafen 22:

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

Klärung: Applet New-NetFirewallRule op Windows Server 2012 a spéider benotzt. An den eelste Systemer (oder Desktop) kënnt Dir de Kommando benotzen:

netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22

Loosst eis de Service starten:

net start sshd

Beim Startup ginn Hostschlësselen automatesch generéiert (wann fehlt) an %programdata%ssh

Mir kënnen den Autostart vum Service aktivéieren wann de System mam Kommando ufänkt:

Set-Service sshd -StartupType Automatic

Dir kënnt och d'Default Kommando Shell änneren (no der Installatioun ass de Standard cmd):

New-ItemProperty -Path "HKLM:SOFTWAREOpenSSH" -Name DefaultShell -Value "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe" -PropertyType String -Force

Klärung: Dir musst en absolute Wee uginn.

Wat d'nächst?

An dann hu mir et opgestallt sshd_config, déi mir wäerte Plaz an C: Programmdaten. Zum Beispill:

PasswordAuthentication no
PubkeyAuthentication yes

A erstellt e Verzeechnes am Benotzer Dossier .ssh, an an der Datei autoriséiert_Schlësselen. Mir schreiwen do déi ëffentlech Schlësselen op.

Wichteg Erklärung: nëmmen de Benotzer, an deem säi Verzeichnis de Fichier läit, soll d'Recht hunn op dës Datei ze schreiwen.

Awer wann Dir Probleemer mat dësem hutt, kënnt Dir ëmmer d'Rechterkontrolle an der Configuratioun ausschalten:

StrictModes no

Iwwregens, an C:ProgrammdateienOpenSSH et ginn 2 Scripten (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), déi sollen awer net verflicht sinn Rechter ze fixéieren, och mat autoriséiert_Schlësselen, mee fir e puer Grond si registréieren net.

Vergiesst net de Service nei ze starten sshd no der Ännerungen ze gëllen.

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>

Subjektiv Virdeeler / Nodeeler.

Pros:

  • Standard Approche fir mat Serveren ze verbannen.
    Wann et wéineg Windows Maschinnen sinn, ass et ganz onbequem wann:
    Also, hei gi mir iwwer ssh, an hei benotze mir rdp,
    an am Allgemengen, déi bescht-Praxis mat Bastiounen ass éischt eng ssh Tunnel, an RDP duerch et.
  • Einfachheet vum Setup
    Ech mengen dat ass evident.
  • Geschwindegkeet vun der Verbindung an Aarbecht mat enger Fernmaschinn
    Et gëtt keng grafesch Shell, spuert souwuel Serverressourcen an d'Quantitéit vun iwwerdroenen Donnéeën.

Muecht:

  • Ersetzt net komplett RDP.
    Net alles kann aus der Konsol gemaach ginn, leider. Ech mengen Situatiounen wou e GUI erfuerderlech ass.

Material benotzt am Artikel:
Link op de Projet selwer
Installatioun Optiounen sinn shamelessly kopéiert aus Ansible docs.

Source: will.com

Setzt e Commentaire