New-PSSession -SSHTransport -UserName SpockAdmin -KeyFilePath /Users/tsulli/Spocks_Private_Key.pem -HostName x.x.x.x
New-PSSession: [xxxx] أبلغت عملية الخلفية عن خطأ بالرسالة التالية: انتهت جلسة عميل SSH برسالة خطأ: فشل طلب النظام الفرعي على القناة 0.
ملاحظة : أنا قادر على دخول SSH إلى النظام بنجاح باستخدام عميل سطر الأوامر ssh
من Mac.
تأكد من أن sshd_config
يحتوي على تكوين Subsystem
كما هو موثق في المقالة التالية:
https://docs.microsoft.com/en-us/powershell/scripting/core-powershell/ssh-remoting-in-powershell-core
بعد تعديل sshd_config
، تحتاج أيضًا إلى إعادة تشغيل عفريت SSH على مثيل Windows الخاص بك: Restart-Service -Name sshd
.
سيتم الإغلاق على الفور ، حيث وجدت الإصلاح. يتم نشر هذا لأغراض توثيق المجتمع فقط ، حتى يتمكن الآخرون من الاستفادة من معلوماتي.
يقع sshd_config في٪ ProgramData٪ ssh AND NOT حيث تم تثبيت OpenSSH.
تظل المشكلة موجودة بعد إضافة النظام الفرعي ، يُظهر تشغيل 'sshd -T' أن التكوين الخاص بي قد تم تحميله بالفعل:
PS> sshd -T | select-string 'subsystem'
subsystem sftp sftp-server.exe
subsystem powershell c:\pwsh\pwsh.exe -sshs -NoLogo -NoProfile
لا يزال ssh cmd غير قادر على معرفة اسم "بوويرشيل":
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
إصدار opensh الخاص بي هو
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
النظام الفرعي بوويرشيل pwsh.exe -sshs -NoLogo -NoProfile