Powershell: 新規-SSHキー認証を使用しているときにPSSessionエラー「サブシステム要求がチャネル0で失敗しました」

作成日 2018年01月19日  ·  3コメント  ·  ソース: PowerShell/PowerShell

複製手順

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

症状

New-PSSession:[xxxx]バックグラウンドプロセスが次のメッセージでエラーを報告しました:SSHクライアントセッションがエラーメッセージで終了しました:サブシステム要求がチャネル0で失敗しました。

:Macのsshコマンドラインクライアントを使用して、システムにSSHで正常に接続できます。

修正

次の記事に記載されているように、 sshd_configSubsystem構成が含まれていることを確認してください。
https://docs.microsoft.com/en-us/powershell/scripting/core-powershell/ssh-remoting-in-powershell-core

sshd_config変更した後、WindowsインスタンスでSSHデーモンを再起動する必要もあります: Restart-Service -Name sshd

修正を見つけたので、すぐに閉じます。 これは純粋にコミュニティのドキュメント化の目的で投稿されているため、他の人が私の学習から利益を得ることができます。

Issue-Question Resolution-Answered

全てのコメント3件

sshd_configは%ProgramData%sshにあり、OpenSSHがインストールされている場所ではありません。

サブシステムを追加した後も問題は存在し続けます。「sshd-T」を実行すると、構成がすでにロードされていることが示されます。

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

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

sshcmdはまだ「powershell」という名前を理解できません。

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

オペレーションシステム:

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

私のopensshバージョンは

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

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

サブシステムpowershellpwsh.exe -sshs -NoLogo -NoProfile

このページは役に立ちましたか?
0 / 5 - 0 評価