New-PSSession -SSHTransport -UserName SpockAdmin -KeyFilePath /Users/tsulli/Spocks_Private_Key.pem -HostName x.x.x.x
New-PSSession: [xxxx] El proceso en segundo plano informó un error con el siguiente mensaje: La sesión del cliente SSH ha finalizado con un mensaje de error: la solicitud del subsistema falló en el canal 0.
NOTA : Puedo SSH exitosamente en el sistema usando el cliente de línea de comando ssh
de Mac.
Asegúrese de que su sshd_config
contenga la configuración Subsystem
como se documenta en el siguiente artículo:
https://docs.microsoft.com/en-us/powershell/scripting/core-powershell/ssh-remoting-in-powershell-core
Después de modificar sshd_config
, también necesita reiniciar el demonio SSH en su instancia de Windows: Restart-Service -Name sshd
.
Cerrando de inmediato, ya que encontré la solución. Esto se publica únicamente con fines de documentación de la comunidad, para que otros puedan beneficiarse de mis aprendizajes.
sshd_config se encuentra en% ProgramData% ssh Y NO donde está instalado OpenSSH.
El problema sigue existiendo después de agregar el subsistema, ejecutar 'sshd -T' muestra que mi configuración ya se ha cargado:
PS> sshd -T | select-string 'subsystem'
subsystem sftp sftp-server.exe
subsystem powershell c:\pwsh\pwsh.exe -sshs -NoLogo -NoProfile
El cmd ssh todavía no puede descifrar el nombre 'powershell':
PS> ssh [email protected] -s powershell
Authorized users only. All activity may be monitored and reported.
Password:
subsystem request failed on channel 0
sistema operativo:
PS>((Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion\" -Name ProductName).ProductName)
Windows 7 Professional
Mi versión de openssh es
PS>((Get-Item (Get-Command sshd).Source).VersionInfo.FileVersion)
7.7.2.0
Versión 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
Subsistema powershell pwsh.exe -sshs -NoLogo -NoProfile