无法通过 Windows Power Shell ISE 通过 SSH 连接到我的虚拟机

无法通过 Windows Power Shell ISE 通过 SSH 连接到我的虚拟机

我的 vmWare 主机中运行着一个 Linux VM 客户机,我想使用 Windows PowerShell ISE 来访问它。我通常可以通过 SSH 连接到我的 VM,但无法使用 Windows PowerShell ISE。

当我尝试通过 SSH 连接到我的虚拟机时,SSH 操作卡住了,不会显示任何其他控制台或消息。我使用的是 GIT、Windows 8.1 和 vmWare Workstation 10 附带的 SSH 客户端。

PS C:\> ssh [email protected]
ssh : Warning: Permanently added '192.168.255.142' (RSA) to the list of known hosts.
At line:1 char:1
+ ssh [email protected]
+ ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Warning: Perman...of known hosts.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

答案1

这是 PowerShell ISE 的限制。任何尝试控制控制台窗格的应用程序都将失败和/或卡住。

其中一些命令已被列入“黑名单”,您可以在中看到它们$psUnsupportedConsoleApplications

您看到的错误可能根本不相关:ssh 将信息写入 stderr,并且 PowerShell 在此消息之上生成错误。

但事实上,ssh 需要完全控制您正在运行的控制台(例如,使您能够运行 vim 之类的程序),这会“冻结”ISE。要查看内置应用程序的相同问题,您可以尝试使用 netsh 执行相同操作:

$psUnsupportedConsoleApplications.Remove('netsh')
netsh

这也应该锁定 ISE,原因与 ssh 锁定它相同。

顺便说一句:如果你只想运行几个命令,链接器可以成为比“普通” ssh 更好的工具。它在 ISE 中运行良好,因为它不会尝试接管控制台。

相关内容