Powershell: Erreur New-PSSession "échec de la demande de sous-système sur le canal 0" lors de l'utilisation de l'authentification par clé SSH

Créé le 19 janv. 2018  ·  3Commentaires  ·  Source: PowerShell/PowerShell

Étapes de reproduction

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

Symptôme

New-PSSession : [xxxx] Le processus d'arrière-plan a signalé une erreur avec le message suivant : La session client SSH s'est terminée avec le message d'erreur : la demande de sous-système a échoué sur le canal 0.

REMARQUE : Je suis capable de connecter SSH au système avec succès à l'aide du client de ligne de commande ssh de Mac.

Réparer

Assurez-vous que votre sshd_config contient la configuration Subsystem comme documenté dans l'article suivant :
https://docs.microsoft.com/en-us/powershell/scripting/core-powershell/ssh-remoting-in-powershell-core

Après avoir modifié le sshd_config , vous devez également redémarrer le démon SSH sur votre instance Windows : Restart-Service -Name sshd .

Fermeture immédiate, car j'ai trouvé le correctif. Ceci est publié uniquement à des fins de documentation communautaire, afin que d'autres puissent bénéficier de mes apprentissages.

Issue-Question Resolution-Answered

Tous les 3 commentaires

sshd_config se trouve dans %ProgramData%ssh ET NON là où OpenSSH est installé.

Le problème persiste après l'ajout du sous-système, exécutez 'sshd -T' montre que ma configuration a déjà été chargée :

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

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

Le cmd ssh ne parvient toujours pas à trouver le nom 'powershell' :

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

le système d'exploitation:

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

Ma version openssh est

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

Version Powershell

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

Sous-système powershell pwsh.exe -sshs -NoLogo -NoProfile

Cette page vous a été utile?
0 / 5 - 0 notes