Powershell: New-PSSession-Fehler "Subsystem-Anfrage auf Kanal 0 fehlgeschlagen" bei Verwendung der SSH-Schlüsselauthentifizierung

Erstellt am 19. Jan. 2018  ·  3Kommentare  ·  Quelle: PowerShell/PowerShell

Reproduktionsschritte

New-PSSession -SSHTransport -UserName SpockAdmin -KeyFilePath /Users/tsulli/Spocks_Private_Key.pem -HostName x.x.x.x

Symptom

New-PSSession : [xxxx] Der Hintergrundprozess hat einen Fehler mit der folgenden Meldung gemeldet: Die SSH-Client-Sitzung wurde mit der Fehlermeldung beendet: Subsystem-Anforderung auf Kanal 0 fehlgeschlagen.

HINWEIS : Ich kann mit dem ssh Befehlszeilenclient vom Mac erfolgreich SSH in das System einbinden.

Fix

Stellen Sie sicher, dass Ihr sshd_config die Subsystem Konfiguration enthält, wie im folgenden Artikel dokumentiert:
https://docs.microsoft.com/en-us/powershell/scripting/core-powershell/ssh-remoting-in-powershell-core

Nachdem Sie sshd_config , müssen Sie auch den SSH-Daemon auf Ihrer Windows-Instanz neu starten: Restart-Service -Name sshd .

Schließe sofort, da ich die Lösung gefunden habe. Dies wird ausschließlich zu Zwecken der Community-Dokumentation veröffentlicht, damit andere von meinen Erkenntnissen profitieren können.

Issue-Question Resolution-Answered

Alle 3 Kommentare

sshd_config befindet sich in %ProgramData%ssh UND NICHT dort, wo OpenSSH installiert ist.

Das Problem besteht weiterhin, nachdem ich das Subsystem hinzugefügt habe. Ausführen von 'sshd -T' zeigt an, dass meine Konfiguration bereits geladen wurde:

PS> sshd -T | select-string 'subsystem'

subsystem sftp sftp-server.exe
subsystem powershell c:\pwsh\pwsh.exe -sshs -NoLogo -NoProfile

Der ssh-cmd kann den Namen 'powershell' immer noch nicht herausfinden:

PS> ssh [email protected] -s powershell
Authorized users only. All activity may be monitored and reported.
Password:
subsystem request failed on channel 0

Betriebssystem:

PS>((Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion\" -Name ProductName).ProductName)
Windows 7 Professional

Meine openssh-Version ist

PS>((Get-Item (Get-Command sshd).Source).VersionInfo.FileVersion)
7.7.2.0

Powershell-Version

PS> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.1.0
PSEdition                      Core
GitCommitId                    6.1.0
OS                             Microsoft Windows 6.1.7601 S
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Subsystem powershell pwsh.exe -sshs -NoLogo -NoProfile

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen