PowerShell SSH Remoting beállítása a PowerShell 6-ban

A PowerShell 6-os verziójával a Microsoft bevezette a PowerShell Remoting over SSH-t, amely lehetővé teszi a valódi többplatformos PowerShell remotingot Linux, macOS és Windows között. A PowerShell SSH Remoting egy PowerShell host folyamatot hoz létre a célgépen SSH alrendszerként. Normális esetben a PowerShell remoting a WinRM-et használja a kapcsolattárgyaláshoz és az adattovábbításhoz, azonban a WinRM csak Windows alapú gépeken érhető el.

Vannak hátrányai is. Az SSH-alapú remoting jelenleg nem támogatja a távoli végpontok konfigurálását és a JEA-t (Just Enough Administration). Azt is fontos megérteni, hogy ez nem csak egy újabb PowerShell SSH kliens.

SSH Transport használata PowerShell Remotinggal

A PowerShell remoting SSH-val történő használatához ugyanazokat a cmdleteket használhatjuk, amelyeket a WinRM PowerShell remotingból ismerünk.

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

Ezeknek a cmdleteknek 3 új paramétere van, ha a PowerShell SSH remotingot használja.

  • -HostName (A -Computernév helyett, helyett az SSH-célt határozza meg)
  • -UserName (A -Credentials helyett a -UserName paramétert használja)
  • -KeyFilePath (Ha SSH kulcshitelesítést használ, akkor a -KeyFilePath paraméterrel mutathat a kulcsfájlra)
 New-PSSession -HostName tomsssh.server.com -UserName thomas

PowerShell SSH Remoting beállítása

A PowerShell SSH-val való munkához, a következő lépéseket kell elvégeznie minden rendszeren és gépen.

  • Az OpenSSH szerver és kliens telepítése
    • A Windows OpenSSH for Windows közvetlenül elérhető a Windows 10 (1809) és a Windows Server 2019 rendszerben, mint opcionális funkció.
    • Linuxon a platformtól függően telepíti az OpenSSH-t
  • Telepítse a PowerShell 6-ot minden rendszerre
  • Konfigurálja az SSH alrendszert, hogy a távoli gépen PowerShell folyamatot fogadjon
  • Konfigurálja a jelszó- vagy kulcsalapú hitelesítést

Stepről lépésre az SSH távvezérlés beállítása Windowson

1. lépés: Először is telepítenie kell a PowerShell 6-ot a Windowson. A PowerShell 6 egyszerű telepítéséhez követheti a blogbejegyzésemet.

Install PowerShell 6

Step 2: Telepítse az OpenSSH klienst és az Open SSH szervert. A kliens és a kiszolgáló telepítéséhez és az OpenSSH kiszolgáló kezdeti konfigurálásához a következő parancsot használhatja.

 # 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

Step 2.1: Mivel az OpenSSH for Windows-ban jelenleg hiba van, az elérési útvonal nem fogad el szóközöket. Szimlinket kell létrehoznia egy szóközök nélküli könyvtárba. Futtassa a következő parancsot a célrendszeren.

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

3. lépés: Konfigurálja és szerkessze a célgépen a $env:ProgramData\ssh címen található sshd_config fájlt.

Edit sshd_config

Ellenőrizze, hogy a jelszavas hitelesítés engedélyezve van-e

PasswordAuthentication yes

Adja hozzá a PowerShell alrendszert

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

Optional enable key authentication

PubkeyAuthentication yes

Ha érdekli a kulcsalapú hitelesítés beállítása OpenSSH-val Windows Server-en, nézze meg az ITOpstalk blogbejegyzését.com Orin Thomas (Microsoft Cloud Advocate).

4. lépés: Az sshd szolgáltatás újraindítása

 Restart-Service sshd

Step by step SSH remoting beállítása Linuxon (Ubuntu 18.04)

1. lépés: Először is telepítenie kell a PowerShell 6-ot Linuxon. A PowerShell 6 egyszerű telepítéséhez követheti a blogbejegyzésemet.

Install PowerShell 6 Linux

Step 2: Telepítse az OpenSSH klienst és nyissa meg az SSH szervert. A kliens és a szerver telepítéséhez és az OpenSSH szerver kezdeti konfigurálásához a következő parancsokat használhatja.

sudo apt install openssh-clientsudo apt install openssh-server

3. lépés: Az sshd_config fájl konfigurálása és szerkesztése a célgépen az /etc/ssh helyen.

Ellenőrizze, hogy a jelszóhitelesítés engedélyezve van-e

PasswordAuthentication yes

Adja hozzá a PowerShell alrendszert

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

Opticionálisan engedélyezze a kulcshitelesítést

PubkeyAuthentication yes

4. lépés: Az sshd szolgáltatás újraindítása

 sudo service sshd restart

SSH remoting a PowerShell 6-tal

Most már használhatja a PowerShell SSH remotingot, hogy akár különböző operációs rendszerekről, például Windowsról Linuxra vagy Linuxról Windowsra csatlakozzon. PowerShell 6 SSH Remoting

Mint már említettük, használhatja a már megszokott parancsokat, mint például a New-PSSession, Enter-PSSession vagy Invoke-Command.

PowerShell SSH Remoting Linuxról Windowsra

A kliensként használhatja az Azure Cloud Shell-t is, amelyen a PowerShell 6 fut

Természetesen a PowerShell SSH remotingot is használhatja Linuxról Linuxra és Windowsról Windowsra való csatlakozáshoz. A PowerShell SSH remotingról további információkat talál a Microsoft Docs oldalain. Ha bármilyen kérdése van, kérjük, ossza meg velem a hozzászólásokban.

Címkék: Microsoft, PowerShell, PowerShell 6, PowerShell Core, PowerShell over SSH, Powershell Remoting, setup, Setup SSH PowerShell, SSH, SSH PowerShell, SSH Transport Utoljára módosítva: Microsoft, PowerShell, PowerShell 6, PowerShell Core, PowerShell over SSH, Powershell Remoting: április 4, 2019

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.