Configurarea PowerShell SSH Remoting în PowerShell 6

Cu PowerShell versiunea 6, Microsoft a introdus PowerShell Remoting peste SSH, care permite o adevărată remoting PowerShell multiplatformă între Linux, macOS și Windows. PowerShell SSH Remoting creează un proces gazdă PowerShell pe mașina țintă ca subsistem SSH. În mod normal, PowerShell remoting utilizează WinRM pentru negocierea conexiunii și transportul de date, însă WinRM este disponibil numai pe mașinile bazate pe Windows.

Există, de asemenea, unele dezavantaje. Remoting-ul bazat pe SSH nu suportă în prezent configurarea endpoint-ului la distanță și JEA (Just Enough Administration). Este, de asemenea, important de înțeles, că acesta nu este doar un alt client SSH PowerShell.

Utilizați transportul SSH cu PowerShell Remoting

Pentru a utiliza PowerShell remoting cu SSH, puteți utiliza aceleași cmdlet-uri, pe care le cunoașteți din PowerShell remoting cu WinRM.

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

Există 3 parametri noi pentru aceste cmdlet-uri, dacă utilizați PowerShell SSH remoting.

  • -HostName (În loc de -Computername, definiți ținta SSH)
  • -UserName (În loc de -Credentials, utilizați parametrul -UserName)
  • -KeyFilePath (Dacă utilizați autentificarea cu cheie SSH, puteți utiliza parametrul -KeyFilePath pentru a indica fișierul de chei)
 New-PSSession -HostName tomsssh.server.com -UserName thomas

Setup PowerShell SSH Remoting

Pentru a lucra cu PowerShell SSH, va trebui să efectuați următorii pași pe toate sistemele și mașinile.

  • Instalați OpenSSH Server și Client
    • OpenSSH pentru Windows este disponibil direct în Windows 10 (1809) și Windows Server 2019 ca o caracteristică opțională.
    • Pe Linux instalați OpenSSH în funcție de platformă
  • Instalați PowerShell 6 pe toate sistemele
  • Configurați subsistemul SSH pentru a găzdui un proces PowerShell pe mașina de la distanță
  • Configurați autentificarea bazată pe parolă sau pe cheie

Configurați pas cu pas configurarea SSH remoting pe Windows

Pasul 1: Configurați SSH remoting pe Windows

: Mai întâi va trebui să instalați PowerShell 6 pe Windows. Puteți urmări postarea mea de pe blog pentru a instala cu ușurință PowerShell 6.

Instalați PowerShell 6

Etapa 2: Instalați OpenSSH Client și Open SSH Server. Deoarece există în prezent o eroare în OpenSSH pentru Windows, calea nu acceptă spații. Trebuie să creați un symlink către un director fără spații. Rulați următoarea comandă pe sistemul țintă.

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

Etapa 3: Configurați și editați fișierul sshd_config aflat la $env:ProgramData\ssh pe mașina țintă.

Editați sshd_config

Verificați dacă autentificarea prin parolă este activată

PasswordAuthentication yes

Adaugați subsistemul pentru PowerShell

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

Activați opțional autentificarea prin cheie

PubkeyAuthentication yes

Dacă sunteți interesați să configurați autentificarea bazată pe cheie cu OpenSSH pe Windows Server, consultați postarea de pe blogul ITOpstalk.com de Orin Thomas (Microsoft Cloud Advocate).

Pasul 4: Reporniți serviciul sshd

 Restart-Service sshd

Pas cu pas Configurarea pas cu pas a remoting-ului SSH pe Linux (Ubuntu 18.04)

Pasul 1: Mai întâi va trebui să instalați PowerShell 6 pe Linux. Puteți urmări postarea mea de pe blog pentru a instala cu ușurință PowerShell 6.

Instalați PowerShell 6 Linux

Pasul 2: Instalați OpenSSH Client și deschideți serverul SSH. Pentru a instala clientul și serverul și pentru a configura inițial serverul OpenSSH, puteți utiliza următoarele comenzi.

sudo apt install openssh-clientsudo apt install openssh-server

Pasul 3: Configurați și editați fișierul sshd_config în locația /etc/ssh de pe mașina țintă.

Verificați dacă autentificarea prin parolă este activată

PasswordAuthentication yes

Adaugați subsistemul pentru PowerShell

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

Activați opțional autentificarea prin cheie

PubkeyAuthentication yes

Pasul 4: Reporniți serviciul sshd

 sudo service sshd restart

SSH Remoting cu PowerShell 6

Acum puteți începe să folosiți PowerShell SSH remoting pentru a vă conecta chiar și de la sisteme de operare diferite, cum ar fi Windows la Linux sau Linux la Windows. PowerShell 6 SSH Remoting

După cum am menționat anterior, puteți folosi aceleași comenzi cu care sunteți familiarizați, cum ar fi New-PSSession, Enter-PSSession sau Invoke-Command.

PowerShell SSH Remoting Linux to Windows

În calitate de client, puteți utiliza, de asemenea, Azure Cloud Shell, care rulează PowerShell 6

Desigur, puteți utiliza, de asemenea, PowerShell SSH Remoting pentru a vă conecta de la Linux la Linux și de la Windows la Windows. Puteți găsi mai multe informații despre PowerShell SSH remoting pe paginile Microsoft Docs. Dacă aveți întrebări, vă rog să mă anunțați în comentarii.

Tags: Microsoft, PowerShell, PowerShell, PowerShell 6, PowerShell Core, PowerShell over SSH, Powershell Remoting, setup, Setup SSH PowerShell, SSH, SSH PowerShell, SSH PowerShell, SSH Transport Ultima modificare: Aprilie 4, 2019

Lasă un răspuns

Adresa ta de email nu va fi publicată.