none
PowerShell Core - реально ли New-PSSession из *nix? RRS feed

  • Вопрос

  • Здравствуйте!

    Поставил OpenSSH, подсистему powershell, поставил core на mac - по ssh подключаюсь и запускаю powershell на удалённой windows-машине без проблем. НО! Теперь вопрос, есть ли возможность создать сессию напрямую?

    Enter-PSSession : The background process reported an error with the following message: The SSH client session has ended with error message: subsystem request failed on channel 0.

    Получаю при попытке входа.

    Или это так и работает?? Заходим по SSH, запускаем экземпляр и работаем? Заранее спасибо!

    25 октября 2018 г. 19:47

Ответы

  • Проверил CentOS7 и Windows Server 2019:

    Установка PowerShell Core на CentOS7:

    PowerShell Core CentOS 7 - https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-powershell-core-on-linux?view=powershell-6

    # Register the Microsoft RedHat repository curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo # Install PowerShell sudo yum install -y powershell # Start PowerShell pwsh

    Установка PowerShell Core на Windows Server 2019

    https://github.com/PowerShell/PowerShell/releases/download/v6.1.0/PowerShell-6.1.0-win-x64.msi-6.1.0-win-x64.msi
    	
    # Download msi
    Invoke-WebRequest -Uri https://github.com/PowerShell/PowerShell/releases/download/v6.1.0/PowerShell-6.1.0-win-x64.msi -OutFile PowerShell
    		
    # Install
    msiexec /i C:\Users\Administrator\PowerShell-6.1.0-win-x64.msi /quiet

    Конфигурация PowerShell Remoting:

    4. Windows Remoting
    & 'C:\Program Files\PowerShell\6\Install-PowerShellRemoting.ps1' -PowerShellHome "C:\Program Files\PowerShell\6"

    Установка OpenSSH на Windows Server 2019

    # Download OpenSSH
    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    $url = 'https://github.com/PowerShell/Win32-OpenSSH/releases/latest/'
    $request = [System.Net.WebRequest]::Create($url)
    $request.AllowAutoRedirect=$false
    $response=$request.GetResponse()
    $uri = $([String]$response.GetResponseHeader("Location")).Replace('tag','download') + '/OpenSSH-Win64.zip' 
    Invoke-WebRequest -Uri $uri -OutFile OpenSSH-Win64.zip
    		
    # SymbolicLink
    New-Item -ItemType SymbolicLink -Path "C:\pwsh" -Target "C:\Program Files\PowerShell\6"
    		
    # Expand archive
    Expand-Archive .\OpenSSH-Win64.zip "C:\Program Files\"
    Rename-Item "C:\Program Files\OpenSSH-Win64" "C:\Program Files\OpenSSH"
    		
    #Install OpenSSH
    & "C:\Program Files\OpenSSH\install-sshd.ps1"
    New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
    Set-Service sshd -StartupType Automatic
    Start-Service sshd

    Конфиг для OpenSSH - "C:\ProgramData\ssh\sshd_config":

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

    Сделаем рестарт сервиса OpenSSH:

    Restart-Service sshd

    Подключаем с CentOS7:


    • Изменено Kazun 25 октября 2018 г. 21:26
    • Помечено в качестве ответа Roman Galicin 26 октября 2018 г. 5:43
    25 октября 2018 г. 21:23

Все ответы

  • Проверил CentOS7 и Windows Server 2019:

    Установка PowerShell Core на CentOS7:

    PowerShell Core CentOS 7 - https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-powershell-core-on-linux?view=powershell-6

    # Register the Microsoft RedHat repository curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo # Install PowerShell sudo yum install -y powershell # Start PowerShell pwsh

    Установка PowerShell Core на Windows Server 2019

    https://github.com/PowerShell/PowerShell/releases/download/v6.1.0/PowerShell-6.1.0-win-x64.msi-6.1.0-win-x64.msi
    	
    # Download msi
    Invoke-WebRequest -Uri https://github.com/PowerShell/PowerShell/releases/download/v6.1.0/PowerShell-6.1.0-win-x64.msi -OutFile PowerShell
    		
    # Install
    msiexec /i C:\Users\Administrator\PowerShell-6.1.0-win-x64.msi /quiet

    Конфигурация PowerShell Remoting:

    4. Windows Remoting
    & 'C:\Program Files\PowerShell\6\Install-PowerShellRemoting.ps1' -PowerShellHome "C:\Program Files\PowerShell\6"

    Установка OpenSSH на Windows Server 2019

    # Download OpenSSH
    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    $url = 'https://github.com/PowerShell/Win32-OpenSSH/releases/latest/'
    $request = [System.Net.WebRequest]::Create($url)
    $request.AllowAutoRedirect=$false
    $response=$request.GetResponse()
    $uri = $([String]$response.GetResponseHeader("Location")).Replace('tag','download') + '/OpenSSH-Win64.zip' 
    Invoke-WebRequest -Uri $uri -OutFile OpenSSH-Win64.zip
    		
    # SymbolicLink
    New-Item -ItemType SymbolicLink -Path "C:\pwsh" -Target "C:\Program Files\PowerShell\6"
    		
    # Expand archive
    Expand-Archive .\OpenSSH-Win64.zip "C:\Program Files\"
    Rename-Item "C:\Program Files\OpenSSH-Win64" "C:\Program Files\OpenSSH"
    		
    #Install OpenSSH
    & "C:\Program Files\OpenSSH\install-sshd.ps1"
    New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
    Set-Service sshd -StartupType Automatic
    Start-Service sshd

    Конфиг для OpenSSH - "C:\ProgramData\ssh\sshd_config":

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

    Сделаем рестарт сервиса OpenSSH:

    Restart-Service sshd

    Подключаем с CentOS7:


    • Изменено Kazun 25 октября 2018 г. 21:26
    • Помечено в качестве ответа Roman Galicin 26 октября 2018 г. 5:43
    25 октября 2018 г. 21:23
  • Тьфу, пропасть, не оттуда читал ssh_config )) Поэтому не задействовалась подсистема pwsh. Спасибо!
    26 октября 2018 г. 5:43