手把手教你Linux与Windows文件互传配置(
很多刚开始接触服务器运维的朋友都会遇到一个很实际的问题:本地用的是 Windows,而服务器上跑的是 Linux,怎么把文件互相传过去?
今天这篇文章不讲大道理,直接给你两套配置方案。
一套用 Samba 共享,适合在同一个局域网里批量传大文件;
另一套用 WinSCP 图形界面工具,适合远程连接或者传单个文件。
你按照下面的步骤操作,10 分钟就能跑通。
准备工作:网络与系统要求
不管选哪种方案,下面几项需要提前确认好:
- Linux 服务器(本教程以 CentOS 7/8 为例,Ubuntu 命令基本通用)
- Windows 电脑(Win 10/11 均可)
- 两台机器在同一局域网,或者 Windows 能直接访问 Linux 的 IP(如果是云服务器,需放行对应端口)
- Linux 端已启用 SSH 服务(用于 WinSCP),检查命令:
systemctl status sshd
如果未运行,使用 sudo systemctl start sshd 启动。
下面开始配置。
方案一:Samba 共享文件夹配置(局域网内大文件首选)
Samba 能让 Linux 的某个目录像 Windows 共享文件夹一样被访问,操作非常直观。
步骤 1:Linux 安装 Samba
登录到 Linux 终端,执行:
sudo yum install samba samba-client -y # CentOS
# Ubuntu 用 sudo apt install samba -y
安装完成后启动服务并设置开机自启:
sudo systemctl start smb
sudo systemctl enable smb
步骤 2:创建共享目录并设置权限
假设你想共享 /share 这个目录(如果不存在先创建):
sudo mkdir /share
sudo chmod 777 /share # 临时允许所有用户读写,生产环境建议按需调整
步骤 3:修改 Samba 配置文件
编辑 /etc/samba/smb.conf,在文件末尾追加以下内容:
[shared]
path = /share
browseable = yes
writable = yes
guest ok = yes # 允许匿名访问,如果需要密码可设为 no 并添加 valid users
create mask = 0755
保存后重启 Samba:
sudo systemctl restart smb
步骤 4:Windows 端访问共享
- 打开 Windows 文件资源管理器,在地址栏输入
\\Linux_IP\shared(例如\\192.168.1.100\shared)。 - 如果是首次访问,可能需要输入 Linux 系统用户名和密码(Samba 密码默认与系统密码一致,若提示认证失败,先用
sudo smbpasswd -a 你的用户名设置 Samba 专用密码)。 - 连接成功后,直接把文件拖进去或复制出来,就和操作本地文件夹一样。
方案二:通过 WinSCP 图形界面传输(远程与单文件传输)
WinSCP 基于 SSH 协议,不需要额外在 Linux 装服务,只要有 SSH 就行。
步骤 1:Windows 下载安装 WinSCP
前往官网(winscp.net)下载安装包,一路默认安装即可。
步骤 2:配置会话
打开 WinSCP,在登录界面填写:
- 文件协议:选择 SFTP(默认)
- 主机名:你的 Linux IP 或域名
- 端口号:22(SSH 默认端口)
- 用户名:你的 Linux 用户名(如 root 或普通账号)
- 密码:对应密码(如果使用密钥,切换到“高级”设置导入私钥)
步骤 3:连接并传输文件
点击“登录”,左侧是本地 Windows 文件目录,右侧是 Linux 文件系统。
直接拖拽文件即可上传或下载。
也可以按 Ctrl+P 选中多个文件批量操作。
高频问题与解决建议
问题 1:Samba 共享只能读不能写
- 检查
smb.conf中writable = yes是否写对。 - 确认共享目录的 Linux 权限:
chmod 777临时解决,最好将目录所有者设为 Samba 用户。
问题 2:WinSCP 连接超时或被拒绝
- 先确认 SSH 服务是否运行:
systemctl status sshd - 检查防火墙是否放行 22 端口:
sudo firewall-cmd --add-port=22/tcp --permanent && sudo firewall-cmd --reload - 如果 Linux 是云服务器,还需要在安全组规则中放行 22 端口。
问题 3:Samba 提示 “您可能没有权限使用网络资源”
- 尝试在 Windows 中打开“控制面板 → 程序和功能 → 启用或关闭 Windows 功能”,勾选“SMB 1.0/CIFS 文件共享支持”,重启后重试。
- 或者检查 Linux 的 SELinux 状态:临时关闭
sudo setenforce 0,如果问题解决,再按需添加 Samba 相关规则。
验证文件传输是否成功
- 在 Windows 上创建一个测试文件(比如 test.txt),拖入 Samba 共享目录或者通过 WinSCP 上传到 Linux。
- 回到 Linux 终端,用
ls -la /share或对应的目录查看文件是否存在。 - 反过来,再测试从 Linux 下载一个文件到 Windows:在 WinSCP 中右键下载,或者通过 Samba 拖出。
- 打开下载的文件检查内容是否完整。
如果以上两步都通过,说明你的 Linux与Windows文件互传配置 已经成功,以后就可以随意在两种系统之间交换文件了。
如果你在配置过程中遇到其他问题,欢迎在评论区留言。
下一次我们再聊聊如何用 rsync 做增量传输,让大文件同步更高效。