从Linux到Windows的ssh只能通过密码而不是密钥来工作

时间:2018-12-09 03:33:26

标签: ssh powershell-core

在我的目标方案中,我需要从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

有人知道这可能是导致错误的原因吗?

1 个答案:

答案 0 :(得分:0)

对于有兴趣的人,我通过进一步研究解决了这个问题。

命令/设置非常好,但是我通过“ Add-WindowsCapability” cmdlet安装的捆绑包中包含的开放ssh服务器版本存在突出问题。

此捆绑软件在我的Win10计算机上安装了7.6p1-beta版本。但实际上,此问题已在7.6.1p1-beta中修复,请参见:https://github.com/PowerShell/Win32-OpenSSH/issues/1098

手动下载并运行最新版本的SSH服务器为我修复了该问题。