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_config
にSubsystem
構成が含まれていることを確認してください。
https://docs.microsoft.com/en-us/powershell/scripting/core-powershell/ssh-remoting-in-powershell-core
sshd_config
変更した後、WindowsインスタンスでSSHデーモンを再起動する必要もあります: Restart-Service -Name sshd
。
修正を見つけたので、すぐに閉じます。 これは純粋にコミュニティのドキュメント化の目的で投稿されているため、他の人が私の学習から利益を得ることができます。
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