PowerShell SSH Remotingin määrittäminen PowerShell 6:ssa

Microsoft esitteli PowerShellin versiossa 6 PowerShell Remoting over SSH:n, joka mahdollistaa todellisen monialustaisen PowerShellin etäkäyttötoiminnon Linuxin, macOS:n ja Windowsin välillä. PowerShell SSH Remoting luo kohdekoneeseen PowerShell-isäntäprosessin SSH-alijärjestelmäksi. Normaalisti PowerShell remoting käyttää WinRM:ää yhteysneuvotteluihin ja tiedonsiirtoon, mutta WinRM on kuitenkin käytettävissä vain Windows-pohjaisissa koneissa.

Tässä on myös joitakin huonoja puolia. SSH-pohjainen etähallinta ei tällä hetkellä tue etäpäätepisteen konfigurointia eikä JEA:ta (Just Enough Administration). On myös tärkeää ymmärtää, että kyseessä ei ole pelkkä PowerShellin SSH-asiakasohjelma.

SSH-kuljetuksen käyttäminen PowerShell Remotingin kanssa

Käyttääksesi PowerShellin etäkäyttämistä SSH:n kanssa voit käyttää samoja cmdletteja, jotka tunnet PowerShellin etäkäyttämisestä WinRM:n kanssa.

  • New-PSSession
  • Enter-PSSession
  • Invoke-Command

Tässä cmdletissä on 3 uutta parametria, jos käytät PowerShell SSH remotingia.

  • -HostName (-Computernamein sijaan, määrittelet SSH-kohteen)
  • -UserName (-Credentials -parametrin sijasta voit käyttää -UserName-parametria)
  • -KeyFilePath (Jos käytät SSH-avaimen todennusta, voit käyttää -KeyFilePath-parametrilla osoittaa avaintiedostoon)
 New-PSSession -HostName tomsssh.server.com -UserName thomas

PowerShellin SSH-remotauksen käyttöönotto

Työskentelyä varten on olemassa myös SSH-käyttökoodi, sinun on suoritettava seuraavat vaiheet kaikissa järjestelmissä ja koneissa.

  • Asenna OpenSSH-palvelin ja -asiakas
    • OpenSSH for Windows on saatavilla suoraan Windows 10:ssä (1809) ja Windows Server 2019:ssä valinnaisena ominaisuutena.
    • Linuxiin asennat OpenSSH:n alustasta riippuen
  • Asenna PowerShell 6 kaikkiin järjestelmiin
  • Konfiguroi SSH-alijärjestelmä isännöimään PowerShell-prosessia etäkoneessa
  • Konfiguroi salasanaan tai avaimiin perustuva todennus

Step by step -asennus SSH-etäyhteydenottoprosessin käyttöönotosta Windowsissa

Vaihe 1. Valitse SSH-palvelin: Asenna ensin PowerShell 6 Windowsiin. Voit seurata blogikirjoitustani asentaaksesi PowerShell 6:n helposti.

Asenna PowerShell 6

Vaihe 2: Asenna OpenSSH Client ja Open SSH Server. Voit asentaa asiakkaan ja palvelimen ja määrittää OpenSSH-palvelimen aluksi seuraavalla komennolla.

 # Install the OpenSSH Client and Server Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 # Initial Configuration of SSH Server Start-Service sshd Set-Service -Name sshd -StartupType 'Automatic' # Confirm the Firewall rule is configured. It should be created automatically by setup. Get-NetFirewallRule -Name *ssh* # There should be a firewall rule named "OpenSSH-Server-In-TCP", which should be enabled

Vaihe 2.1: Koska OpenSSH for Windowsissa on tällä hetkellä vika, polku ei hyväksy välilyöntejä. Sinun on luotava symlinkki hakemistoon, jossa ei ole välilyöntejä. Suorita seuraava komento kohdejärjestelmässä.

 mklink /D c:\pwsh "C:\Program Files\PowerShell"

Vaihe 3: Konfiguroi ja muokkaa sshd_config-tiedostoa, joka sijaitsee kohdekoneen osoitteessa $env:ProgramData\ssh.

Muokkaa sshd_config

Tarkista, että salasanatodennus on käytössä

PasswordAuthentication yes

Lisää PowerShellin alijärjestelmä

Subsystem powershell c:\pwsh\pwsh.exe -sshs -NoLogo -NoProfile

Vaihtoehtoisesti ota käyttöön avaintodennus

PubkeyAuthentication yes

Jos sinua kiinnostaa avaimiin perustuvan todennuksen määrittäminen OpenSSH:n avulla Windows Serverillä, lue blogikirjoitus ITOpstalkin blogikirjoituksesta.04)

Vaihe 1: Asenna ensin PowerShell 6 Linuxiin. Voit seurata blogikirjoitustani PowerShell 6:n asentamiseen helposti.

Asenna PowerShell 6 Linux

Vaihe 2: Asenna OpenSSH-asiakas ja avaa SSH-palvelin. Voit asentaa asiakkaan ja palvelimen ja konfiguroida OpenSSH-palvelimen aluksi seuraavilla komennoilla.

sudo apt install openssh-clientsudo apt install openssh-server

Vaihe 3: Konfiguroi ja muokkaa sshd_config-tiedostoa paikassa /etc/ssh kohdekoneessa.

Tarkista, että salasanatodennus on käytössä

PasswordAuthentication yes

Lisää PowerShellin alijärjestelmä

Subsystem powershell /usr/bin/pwsh -sshs -NoLogo -NoProfile

Vaihtoehtoisesti ota käyttöön avaintodennus

PubkeyAuthentication yes

Vaihe 4: Käynnistä sshd-palvelu uudelleen

 sudo service sshd restart

SSH-tiedonsiirto PowerShell 6:lla

Nyt voit ryhtyä käyttämään SSH-tiedonsiirtoa käyttäen yhteyden muodostamista PowerShell SSH-tiedonsiirtojärjestelmään, jopa erilaisista käyttöjärjestelmistä, kuten esimerkiksi Windowsista Linuxiin tai Linuxista Windowsiin. PowerShell 6 SSH Remoting

Kuten aiemmin mainittiin, voit käyttää samoja tuttuja komentoja kuten New-PSSession, Enter-PSSession tai Invoke-Command.

PowerShell SSH Remoting Linuxista Windowsiin

Asiakkaana voit käyttää myös Azure Cloud Shelliä, joka käyttää PowerShell 6:ta

Voit tietysti käyttää PowerShell SSH Remotingia myös yhteyden muodostamiseen Linuxista Linuxiin ja Windowsista Windowsiin. Lisätietoa PowerShell SSH remotingista löydät Microsoftin Docs-sivuilta. Jos sinulla on kysyttävää, kerro minulle kommenteissa.

Tunnisteet: Microsoft, PowerShell, PowerShell 6, PowerShell Core, PowerShell over SSH, Powershell Remoting, setup, Setup SSH PowerShell, SSH, SSH PowerShell, SSH Transport Last modified: Huhtikuu 4, 2019

Vastaa

Sähköpostiosoitettasi ei julkaista.