温馨提示×

怎么迁移Ubuntu FTPServer

小樊
38
2026-08-28 22:11:19
栏目: 智能运维

迁移 Ubuntu 上的 FTPServer 通常包含 配置文件、用户数据、证书、目录结构 等。下面按最常见场景(vsftpd,Ubuntu 默认常用 FTP/FTPS 服务)给你一套完整迁移流程,适用于 服务器更换 / 系统重装 / 虚拟机迁移


一、确认当前 FTPServer 类型

先确认你用的是哪种 FTP 服务(最常见是 vsftpd):

dpkg -l | grep ftp

或:

systemctl status vsftpd

✅ 本文以 vsftpd(支持 FTPS) 为例
如果你用的是 ProFTPD / Pure-FTPd,可告诉我,我给你单独方案。


二、迁出(旧服务器)

1️⃣ 备份 vsftpd 配置

cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

建议整体打包:

tar czvf vsftpd-config.tar.gz /etc/vsftpd.conf /etc/vsftpd.*

2️⃣ 备份 FTPS 证书(SSL/TLS)

如果你启用了 FTPS(显式/隐式):

grep -E "rsa_cert_file|rsa_private_key_file" /etc/vsftpd.conf

常见路径:

rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key

打包证书:

tar czvf vsftpd-ssl.tar.gz \
/etc/ssl/certs/vsftpd.pem \
/etc/ssl/private/vsftpd.key

3️⃣ 备份 FTP 数据目录

查看数据目录(示例):

grep -E "local_root|anon_root" /etc/vsftpd.conf

常见目录:

/var/ftp
/srv/ftp
/home/ftpuser

备份:

tar czvf ftpdata.tar.gz /var/ftp

4️⃣ 备份用户和系统信息

FTP 本地用户

cat /etc/passwd | grep ftp
cat /etc/shadow | grep ftp

用户家目录

tar czvf ftpusers.tar.gz /home/ftpuser

PAM 配置(如启用虚拟用户)

tar czvf vsftpd-pam.tar.gz /etc/pam.d/vsftpd

三、迁入(新服务器)

1️⃣ 安装 vsftpd

sudo apt update
sudo apt install vsftpd -y

2️⃣ 恢复配置文件

tar xzvf vsftpd-config.tar.gz -C /

或修改前备份默认配置:

cp /etc/vsftpd.conf /etc/vsftpd.conf.default
cp vsftpd.conf /etc/vsftpd.conf

3️⃣ 恢复 SSL 证书(FTPS 必须)

tar xzvf vsftpd-ssl.tar.gz -C /

确保权限正确:

chmod 600 /etc/ssl/private/vsftpd.key
chmod 644 /etc/ssl/certs/vsftpd.pem

4️⃣ 恢复 FTP 数据

tar xzvf ftpdata.tar.gz -C /

确保目录权限:

chown -R ftpuser:ftpuser /var/ftp

5️⃣ 恢复用户(如有)

tar xzvf ftpusers.tar.gz -C /

重建用户(如只备份了配置):

useradd -m -s /usr/sbin/nologin ftpuser
passwd ftpuser

四、启用并测试 FTPS

1️⃣ 检查 FTPS 配置

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

2️⃣ 重启服务

systemctl restart vsftpd
systemctl enable vsftpd

3️⃣ 验证端口

ss -lntp | grep 21

FTPS 数据端口通常是动态(被动模式需配置)。


4️⃣ 测试连接(推荐)

使用 FileZilla

  • 协议:FTP over TLS (FTPS)
  • 加密:显式
  • 端口:21

五、防火墙 & 被动模式(常见坑)

放行端口

ufw allow 21/tcp
ufw allow 30000:31000/tcp

vsftpd.conf 配置被动端口:

pasv_min_port=30000
pasv_max_port=31000

六、快速迁移总结(最小步骤)

✅ 只迁移:

  1. /etc/vsftpd.conf
  2. FTP 数据目录
  3. SSL 证书
  4. FTP 用户

七、我可以继续帮你

你可以直接告诉我:

  • ✅ 用的是 vsftpd / ProFTPD / Pure-FTPd
  • ✅ 是否 FTPS(SSL)
  • ✅ 是否 虚拟用户
  • ✅ 新服务器 Ubuntu 版本

我可以给你 精确命令级迁移方案,甚至帮你排查迁移后连不上的问题。

0