在我的目标方案中,我需要从linux远程连接到Windows并执行powershell命令。为此,我在两台计算机上的Windows和pwoershell core 6上都安装了本地开放式ssh服务器。
如果我在sshd上使用密码身份验证,则远程处理效果很好。当需要基于密钥的身份验证时,它不起作用。
PS /> Enter-PSSession -HostName computername -UserName 'domain\username' -KeyFilePath ./sshkeys/win/win10 -Verbose
Enter passphrase for key '/sshkeys/win/win10':
Enter-PSSession : The background process reported an error with the following message: The SSH client session has ended with error message: Connection to computername closed by remote host..
At line:1 char:1
+ Enter-PSSession -HostName computername -UserName 'domain\username' -KeyFilePath ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [Enter-PSSession], PSRemotingTransportException
有人知道这可能是导致错误的原因吗?
答案 0 :(得分:0)
对于有兴趣的人,我通过进一步研究解决了这个问题。
命令/设置非常好,但是我通过“ Add-WindowsCapability” cmdlet安装的捆绑包中包含的开放ssh服务器版本存在突出问题。
此捆绑软件在我的Win10计算机上安装了7.6p1-beta版本。但实际上,此问题已在7.6.1p1-beta中修复,请参见:https://github.com/PowerShell/Win32-OpenSSH/issues/1098
手动下载并运行最新版本的SSH服务器为我修复了该问题。