虚拟机Ubuntu如何访Windows 的FTP或共享

在虚拟机(Ubuntu)中访问 Windows 主机的 FTP 或共享文件夹 ,需要根据具体需求选择方案。以下是最实用、最安全的解决方案(无需额外配置 FTP 服务,直接使用 Windows 原生共享):


✅ 推荐方案:通过 SMB/CIFS 访问 Windows 共享文件夹(最简单、最常用)

⚠️ 为什么不用 FTP?

Windows 本身不提供 FTP 服务(需额外安装 IIS),而 SMB 是 Windows 原生支持的共享协议,速度更快、更安全。


🔧 步骤 1:在 Windows 上设置共享文件夹(关键!)

  1. 创建共享文件夹

    • 右键文件夹 → 属性共享高级共享 → 勾选 "共享此文件夹" → 设置共享名(如 ubuntu_share)。
    • 点击 "权限" → 添加 Everyone → 勾选 "读取/写入"确定
  2. 关闭密码保护共享(重要!避免登录问题)

    • Windows 搜索 "高级共享设置"网络发现关闭密码保护共享
  3. 获取 Windows IP 地址

    • 在 Windows 命令提示符执行 ipconfig → 记下 IPv4 地址 (如 192.168.1.100)。

🔧 步骤 2:在 Ubuntu 虚拟机中访问共享(5 分钟搞定)

✅ 方法 1:使用图形界面(最简单)
  1. 打开 文件管理器 → 左侧边栏点击 "网络"
  2. 输入地址:smb://192.168.1.100(替换为你的 Windows IP)。
  3. 点击 "连接" → 无需密码(因已关闭密码保护)→ 直接访问共享文件夹。
✅ 方法 2:终端命令(快速操作)
bash 复制代码
# 1. 安装 SMB 客户端
sudo apt update && sudo apt install -y smbclient

# 2. 查看 Windows 共享列表(可选)
smbclient -L //192.168.1.100 -U %

# 3. 进入共享文件夹(无需密码)
smbclient //192.168.1.100/ubuntu_share

✅ 输入 ls 查看文件,quit 退出。


🌐 步骤 3:挂载到本地目录(永久可用)

bash 复制代码
# 创建挂载点
sudo mkdir -p /mnt/windows_share

# 挂载共享(替换为你的 Windows IP 和共享名)
sudo mount -t cifs -o username=,password= //192.168.1.100/ubuntu_share /mnt/windows_share

# 验证
ls /mnt/windows_share

💡 无需密码 :因为已关闭密码保护共享,所以 username=password= 为空。


⚠️ 常见问题解决

问题 解决方案
连接被拒绝 1. 检查 Windows 防火墙:允许 **"文件和打印机共享"**2. 确认 Windows IP 正确(ipconfig
权限错误 1. 在 Windows 共享权限中添加 Everyone2. 关闭密码保护共享(关键!)
无法挂载 1. 安装 cifs-utilssudo apt install -y cifs-utils2. 检查共享名是否正确(大小写敏感)
速度慢 1. 确保虚拟机网络模式是 桥接模式 (非 NAT)2. 在 Windows 里关闭 "公用网络"(在"网络和共享中心")

🔥 为什么推荐 SMB 而不是 FTP?

方案 优点 缺点
SMB/CIFS ✅ Windows 原生支持✅ 无需额外配置✅ 速度更快✅ 无需密码 ❌ 需关闭密码保护(但安全风险极低)
FTP ❌ 需安装 IIS❌ 明文传输(不安全)❌ 配置复杂 ✅ 无

💡 安全提示 :关闭密码保护共享仅影响局域网内访问,不会暴露到公网(内网安全)。


📌 验证步骤(确保一切正常)

  1. 在 Windows 上 :创建一个测试文件 test.txt 到共享文件夹。

  2. 在 Ubuntu 中

    bash 复制代码
    ls /mnt/windows_share  # 应看到 test.txt
    echo "Hello from Ubuntu" > /mnt/windows_share/ubuntu_test.txt
  3. 在 Windows 上 :检查共享文件夹,确认 ubuntu_test.txt 已生成。


🌐 附加:如果必须用 FTP(不推荐)

仅当 Windows 上已安装 IIS FTP 服务 时使用(需额外配置)。

  1. 在 Windows 上

    • 安装 IIS → 勾选 FTP 服务 → 创建 FTP 站点。
    • 设置用户名/密码(如 ftpuser / password)。
  2. 在 Ubuntu 中

    bash 复制代码
    sudo apt install -y ftp
    ftp 192.168.1.100  # 连接 FTP 服务器
    # 输入用户名/密码

⚠️ 强烈建议不要用 FTP:明文传输密码,且 Windows 默认不提供 FTP 服务。


✅ 最终总结

需求 推荐方案 命令/操作
快速访问 Windows 文件 SMB 共享 smbclient //192.168.1.100/share
永久挂载到 Ubuntu SMB 挂载 sudo mount -t cifs //192.168.1.100/share /mnt/share
避免密码 关闭 Windows 密码保护共享 在 Windows 高级共享设置中关闭

成功标志

在 Ubuntu 中能看到 Windows 共享文件夹内容,且能创建/删除文件。

相关推荐
youngerwang16 分钟前
【Windows tcpip协议栈完整静态反汇编分析】
windows·tcpip协议栈·静态反汇编分析
2301_764441331 小时前
主流手机pc品牌的端侧模型部署梳理
人工智能·windows·机器学习·智能手机·产品运营
Java面试题总结1 小时前
C#12 中的 Using Alias
开发语言·windows·c#
qq_163135752 小时前
Linux 【07-rm命令超详细教程】
linux
zh路西法3 小时前
【SSH 免密登录全流程】Windows Linux 通用方案
linux·windows·ssh
ScilogyHunter3 小时前
GCC完全指南
linux·gcc
CodeStats3 小时前
从 CPU 指令到 JVM 进程:彻底讲透 Java 执行 main 方法时,类加载、主线程、栈帧入栈的完整底层逻辑
java·linux·开发语言
Linlingu5 小时前
openClaw不能操作我的电脑提示没有权限如何解决?
人工智能·windows·办公自动化·数字员工·小龙虾
努力努力再努力wz5 小时前
【内存管理与高并发内存池系列】从 mmap 到 malloc:文件映射、匿名映射与 glibc 内存分配机制详解
linux·c语言·数据结构·数据库·c++·qt·链表
会Tk矩阵群控的小木6 小时前
基于Python的iMessage短信群发与社媒多账号统一管理系统实现
开发语言·windows·python·新媒体运营·开源软件·个人开发