从主机连接到 HyperV Guest

从主机连接到 HyperV Guest

我想知道是否可以从主机连接到 HyperV 客户机。客户机是一台 Linux 机器,主机是一台 Win 10 Pro。

具体来说,我无法ssh从主机访问 Linux 客户端。我可以ssh从客户端本地访问其自身,因此我知道服务器ssh在客户端上设置正确。我在客户端上设置了一些其他服务器,但我无法从主机访问其中任何服务器,只能从客户端本地访问。(我还将这些其他服务器绑定到 0.0.0.0)

主机上的所有防火墙都已关闭,因此这不是问题。(Linux 尤其是 Ubuntu 是否默认有防火墙。我不记得设置了任何东西。)在客户机上,我可以访问互联网。我还可以从主机 ping 客户机。除此之外,其他一切都不起作用,即没有sshtelnet

ssh 192.168.0.5
ssh: connect to host 192.168.0.5 port 22: Connection refused

telnet 192.168.0.5 22
Connecting To 192.168.0.5...Could not open connection to the host, on port 22: Connect failed

对于来宾,我已经设置了一个虚拟交换机,正如使用 Hyper-V 管理器创建虚拟交换机即该页面的上半部分。虚拟交换机上的设置如下:

VM虚拟交换机的设置

Guest 上的网络适配器的设置如下:

客户机网络适配器的设置

我没有在任何地方设置 VLAN ID。我在 Linux Guest 上安装了 XRDP,可以通过 RDP 连接到它,没有任何问题。除了这些事情之外,我认为我没有什么不寻常的,即我为所有内容选择了默认设置,即主机操作系统、客户操作系统等。


可能的解决方案:

由于我无法从主机连接,因此我通过添加网络适​​配器在虚拟机上并将其连接到默认开关如上所述Windows 10 Fall Creators Update 中的 Hyper-V 有哪些新功能? - 默认开关所以现在我在虚拟机上有两个网络适配器,主机和虚拟机之间的连接通过这个交换机。我不确定这是否是最好的解决方案,但至少它是有效的。

答案1

为了满足您的需要,我们可以尝试另一种方法,PowerShell 直接Win10 和 Windows Server 2016 中引入了新功能。PowerShell Direct 允许您远程连接到 Hyper-V 主机上运行的 Windows 虚拟机,而无需 VM 内的任何网络连接。PowerShell Direct 使用 Hyper-V VMBus 在虚拟机内进行连接。HVC SSH 基本上是 Linux VM 的 SSH Direct。它允许使用 Hyper-V VMBus 上的 SSH 连接到 Linux VM。您还可以使用 scp 在虚拟机内复制文件。有关详细信息,请参阅以下链接。 https://www.thomasmaurer.ch/2018/04/hvc-ssh-direct-for-linux-vms-on-hyper-v/

相关内容