前言

由Hyper-V创建的虚拟机, 好像无法直接与宿主机之间实现复制粘贴, 因此我们若想实现它们的文件交换, 无非一些传统方案了。

如 通过在虚拟机系统中创建’在网络中共享的文件夹’来实现, 或是直接通过 基于 ssh的 ftp服务来实现。

由于后者更为通用(win下需要手动开启, linux下可直接使用), 且配置即使用过程更为简便快捷。 因此这里主要讲解后者的使用。

关于前者, 虽然也可以实现, 且配置起来也很简单; 但是使用过程中的流程较为繁琐, 涉及较多重复的复制粘贴或拖拽操作。

关于后者, 利用ftp类客户端, 可以简化文件互通操作, 避免重复的复制粘贴或拖拽, 可直接将文件一次性拖拽传递到任何目录下。

win下手动开启ssh服务后, 即可使用, 下文中有开启方案。 需要注意的是: 在win下, 请直接配置好ssh后, 通过ssh链接来尝试网络是否通常, 而不是通过ping命令。 –这是由于win10/11默认防火墙出于安全因素禁止了icmp请求, 因此请不要通过ping命令来验证是否可以通过主机与虚拟机建立链接<若非要使用ping命令来验证,请临时关闭win的默认防火墙>。

使用

由于linux下可直接使用, 因此我们仅讲解win下使用前的设置过程。

win10 | win11 下开启ssh服务

ssh client

我们的 win10 | win11 下是默认安装过 ssh client 的服务的, 我们可在命令窗口键入 ssh 命令来查看是否有对应输出即可。

ssh server

那么我们只需要在虚拟机win中安装 openssh服务端 即可

启动 ssh server

首先我们设置 ssh server 的启动模式 为自启动 (默认是手动), win+s 聚焦到搜索栏, 输入 服务, 如图:

然后, 找到对应的openssh 服务, 将其设置为自动开启, 如图:

下次开机后, ssh server就会默认自动开启了。

那么, 若是现在就要使用的话, 只需要重启ssh服务就好了。

  • 停止 net stop sshd
  • 打开 net start sshd

注意, 执行此命令时需要以管理员身份运行的终端, 否则可能被”拒绝访问”

通过ftp交互宿主机与虚拟机的文件

这里我使用的是 winSCP。 当然, 也可以使用任何符合你自身习惯的ftp客户端。

那么, 本文就到这里了, 进行至此, 相信你已经可以与虚拟机交互你需求的文件了。