Olen aina ollut turhautunut yhteyden muodostamiseen Windows-koneisiin. Ei, en ole Microsoftin ja sen tuotteiden vastustaja enkä kannattaja. Jokainen tuote on olemassa omaa tarkoitustaan varten, mutta siitä ei ole kyse.
Minulle on aina ollut tuskallista muodostaa yhteyttä Windows-palvelimiin, koska nämä yhteydet on joko määritetty yhdestä paikasta (hei WinRM HTTPS:llä) tai eivät toimi kovin vakaasti (hei RDP virtuaalikoneen ulkomaille).
Siksi olen vahingossa törmännyt projektiin Win32-OpenSSH, päätin jakaa asennuskokemukseni. Ehkä tämä työkalu säästää jonkun paljon hermoja.
Selvennys: sovelma Uusi-NetFirewallRule käytetään Windows Server 2012:ssa ja uudemmissa. Vanhimmissa järjestelmissä (tai työpöydällä) voit käyttää komentoa:
Selvennys: Sinun on määritettävä absoluuttinen polku.
Mitä seuraavaksi?
Ja sitten perustimme sen sshd_config, johon laitamme C: Ohjelmatiedot. Esimerkiksi:
PasswordAuthentication no
PubkeyAuthentication yes
Ja luo hakemisto käyttäjäkansioon .sh, ja siinä oleva tiedosto authorised_keys. Kirjoitamme sinne julkiset avaimet.
Tärkeä selvennys: vain käyttäjällä, jonka hakemistossa tiedosto sijaitsee, tulee olla oikeus kirjoittaa tähän tiedostoon.
Mutta jos sinulla on ongelmia tämän kanssa, voit aina kytkeä oikeuksien tarkistuksen pois päältä asetuksista:
StrictModes no
Muuten sisään C: Program FilesOpenSSH siellä on 2 skriptiä (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), joiden pitäisi, mutta eivät ole velvollisia, vahvistamaan oikeuksia, mukaan lukien authorised_keys, mutta jostain syystä he eivät rekisteröidy.
Muista käynnistää palvelu uudelleen sshd jälkeen ottaa muutokset käyttöön.
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>
Subjektiiviset plussat/miinukset.
Plussat:
Normaali lähestymistapa palvelimiin yhdistämiseen. Kun Windows-koneita on vähän, se on erittäin hankalaa, kun:
Joten tässä mennään ssh:n kautta, ja tässä käytetään rdp:tä,
ja yleensä paras käytäntö bastionien kanssa on ensin ssh-tunneli ja RDP sen läpi.
Helppo asentaa Mielestäni tämä on ilmeistä.
Yhteyden nopeus ja työskentely etäkoneella Graafista kuorta ei ole, mikä säästää sekä palvelinresursseja että siirrettävän tiedon määrää.
Miinukset:
Ei täysin korvaa RDP:tä. Kaikkea ei voi tehdä konsolista, valitettavasti. Tarkoitan tilanteita, joissa tarvitaan GUI.