本文详解Linux下通过FTP实现服务器间文件复制的操作步骤:首先需在源服务器安装并配置FTP服务(如vsftpd),设置用户权限及传输目录;客户端使用ftp [目标服务器IP]命令连接,输入用户名密码登录后,通过put [本地文件]上传或get [远程文件]下载文件,批量操作可使用mput/mget,需注意关闭匿名访问、限制用户权限,建议结合SSL/TLS加密传输(如使用sftp)提升安全性,同时检查防火墙规则及磁盘空间,确保传输稳定可靠。
在服务器运维过程中,经常需要将文件从一台服务器复制到另一台服务器,例如数据迁移、日志同步、代码部署等场景,FTP(File Transfer Protocol,文件传输协议)作为一种经典的文件传输方式,因其简单易用、跨平台兼容性强,仍被广泛应用于内网环境下的文件传输,本文将详细介绍如何在Linux系统中,通过FTP协议实现两台服务器之间的文件复制,涵盖FTP服务端配置、客户端连接及文件传输等全流程操作。
环境准备
假设有两台Linux服务器:
- 源服务器(发送端):IP地址为
168.1.100,需要将文件复制到目标服务器。 - 目标服务器(接收端):IP地址为
168.1.200,作为FTP服务端,接收源服务器的文件。
本文以CentOS 7和Ubuntu 20.04为例,其他Linux发行版操作类似,仅包管理命令和配置文件路径可能略有差异。

目标服务器(接收端):安装并配置FTP服务
目标服务器需搭建FTP服务,允许源服务器连接并上传文件,本文以轻量级、安全的vsftpd(Very Secure FTP Daemon)为例进行配置。
安装vsftpd
CentOS/RHEL系统:
sudo yum install -y vsftpd
Ubuntu/Debian系统:
sudo apt update && sudo apt install -y vsftpd
配置vsftpd
vsftpd的主配置文件为/etc/vsftpd/vsftpd.conf(CentOS)或/etc/vsftpd.conf(Ubuntu),编辑配置文件,修改以下关键参数:
sudo vim /etc/vsftpd/vsftpd.conf
核心配置项:
- 允许匿名用户登录(可选,不推荐生产环境使用):
anonymous_enable=YES # 允许匿名登录 anonymous_enable=NO # 禁止匿名登录(推荐)
- 允许本地用户登录(需创建FTP专用用户):
local_enable=YES # 允许本地用户登录 write_enable=YES # 允许本地用户写操作(上传/创建目录)
- 限制用户访问目录(推荐,防止越权):
chroot_local_user=YES # 将用户限制在其家目录下 allow_writeable_chroot=YES # 允许被限制在家目录的用户写操作(需配合write_enable=YES)
- 配置被动模式(解决内网防火墙问题):
pasv_enable=YES # 开启被动模式 pasv_min_port=10000 # 被动模式最小端口 pasv_max_port=10100 # 被动模式最大端口
保存配置后,重启vsftpd服务:
# CentOS/RHEL sudo systemctl start vsftpd sudo systemctl enable vsftpd # 设置开机自启 # Ubuntu/Debian sudo systemctl start vsftpd sudo systemctl enable vsftpd
创建FTP用户并设置权限
为安全起见,建议创建专用的FTP用户(如ftpuser),并指定其家目录作为文件上传根目录:
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

