Linux下使用FTP实现服务器间文件复制详解

admin
本文详解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发行版操作类似,仅包管理命令和配置文件路径可能略有差异。

Linux下使用FTP实现服务器间文件复制详解

目标服务器(接收端):安装并配置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原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码