操作笔记 | Ubuntu Server VMware虚拟机的文件传输

背景:搭建靶场测试环境的时候需要把docker文件拖到Ubuntu Server里,没有图形界面不能通过直接拖拽的方式实现复制。需要通过命令行工具进行文件的传输和复制。

1. 使用 VMware tool

方法:通过VMware tool创建共享文件夹,实现本地与虚拟机间的通信。

步骤:

  1. 在虚拟机关闭状态下,在设置中配置共享文件夹;
  2. 在ubuntu server中安装vmware-tools工具,然后重启;
  3. 启动ubuntu server,挂载共享文件夹;

步骤一 配置共享文件夹

步骤二:在ubuntu中安装open-vm-tools

复制代码
sudo apt update
sudo apt installs open-vm-tools -y

步骤三:挂载共享文件夹并复制文件

  1. 列出vmware共享文件夹的名称

    复制代码
    vmware-hgfsclient
  2. 创建挂载点(例如在/mnt下)

    复制代码
    sudo mkdir -p /mnt/docker_share
  3. 使用 vmhgfs-fuse挂载共享文件夹

    复制代码
    sudo vmhgfs-fuse .host:/docker_share /mnt/docker_share -o allow_other

    .host/docker_share中的docker_share需与在VMware中设置的共享文件夹名称一致;allow_other选项允许普通用户访问该挂载点,设置为只有root能访问时可以省略。

  4. 验证挂载

    复制代码
    ls /mnt/docker_share
  5. 复制文件到Ubuntu server中(将共享文件夹中的所有内容复制到home目录下):

    复制代码
    cp -r /mnt/docker_share/* ~/
  6. 复制完成后可以取消挂载:

    复制代码
    sudo unmount /mnt/docker_share

步骤三 挂载文件夹后将文件夹复制到虚拟机中

附,open-vm-tools的重启方法:

复制代码
sudo systemctl restart open-vm-tools

2. 其他工具:scp, rsync

其他传输文件的工具:

  • scp(基于ssh,适合单次传输)
  • rsync(支持断点续传,并能增量同步,适合较大或需要多次传输的文件夹)

https://blog.sciencenet.cn/blog-3054301-1492239.html (ssh传输方法参考)

拓展思考

💡 图形界面的拖拽复制原理是什么?走的是什么协议?是如何实现的?

  • VMware 自定义的一套虚拟机与宿主机之间的私有通信协议;
组件 作用 无图形界面时
宿主机 VMware 窗口 捕获拖拽事件,通过虚拟通道发起通信 正常捕获,但无人应答
VMCI / Backdoor 通道 宿主机与虚拟机间的通信管道 存在,但虚拟机内无处理程序
VMware Tools(vmtoolsd) 接收拖拽通知,进行文件传输 存在,但缺少图形插件,拒绝响应
图形会话(X11/Wayland) 提供拖拽目标窗口,传递事件 缺失,导致拖拽事件无法被虚拟机内部接收
图形应用程序(如文件管理器) 最终接收文件并写入磁盘 缺失,没有可接收文件的程序

拓展思考回答 from deepseek

相关推荐
星恒随风1 小时前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql
2603_969694855 小时前
【JavaWeb学习记录】MyBatis核心知识点与实战笔记:从入门到动态SQL
笔记·sql·学习·mysql·mybatis·javaweb·学习方法
可乐ea5 小时前
智能体记忆该拆成几层:笔记、记忆表示与注入上下文
服务器·数据库·笔记·ai智能体·提示词工程·上下文工程·记忆系统
Go Work8 小时前
两个等值条件摆着,MySQL 偏要全表扫
经验分享·笔记
Oll Correct9 小时前
Adobe illustrator 案例十四:花元素标志草图绘制
笔记·ui·adobe·illustrator
每月一号准时摆烂13 小时前
服务器运维笔记(一)——使用shell编写实时查看BMC功率的脚本
运维·服务器·笔记
柳鲲鹏1 天前
内斗学概论:43、平级内斗
笔记
星恒随风1 天前
MySQL 从零入门(四):表的增删改查与基础查询详解
linux·服务器·数据库·笔记·mysql
Z21-X1 天前
云原生运维学习笔记:ECShop全链路容器化部署与Docker底层资源隔离深度剖析
运维·笔记·学习·云原生
晓梦林2 天前
BUUCTF-菜刀流量-MISC-学习笔记
笔记·学习