迁移 Ubuntu 上的 FTPServer 通常包含 配置文件、用户数据、证书、目录结构 等。下面按最常见场景(vsftpd,Ubuntu 默认常用 FTP/FTPS 服务)给你一套完整迁移流程,适用于 服务器更换 / 系统重装 / 虚拟机迁移。
先确认你用的是哪种 FTP 服务(最常见是 vsftpd):
dpkg -l | grep ftp
或:
systemctl status vsftpd
✅ 本文以 vsftpd(支持 FTPS) 为例
如果你用的是 ProFTPD / Pure-FTPd,可告诉我,我给你单独方案。
cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
建议整体打包:
tar czvf vsftpd-config.tar.gz /etc/vsftpd.conf /etc/vsftpd.*
如果你启用了 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
查看数据目录(示例):
grep -E "local_root|anon_root" /etc/vsftpd.conf
常见目录:
/var/ftp
/srv/ftp
/home/ftpuser
备份:
tar czvf ftpdata.tar.gz /var/ftp
cat /etc/passwd | grep ftp
cat /etc/shadow | grep ftp
tar czvf ftpusers.tar.gz /home/ftpuser
tar czvf vsftpd-pam.tar.gz /etc/pam.d/vsftpd
sudo apt update
sudo apt install vsftpd -y
tar xzvf vsftpd-config.tar.gz -C /
或修改前备份默认配置:
cp /etc/vsftpd.conf /etc/vsftpd.conf.default
cp vsftpd.conf /etc/vsftpd.conf
tar xzvf vsftpd-ssl.tar.gz -C /
确保权限正确:
chmod 600 /etc/ssl/private/vsftpd.key
chmod 644 /etc/ssl/certs/vsftpd.pem
tar xzvf ftpdata.tar.gz -C /
确保目录权限:
chown -R ftpuser:ftpuser /var/ftp
tar xzvf ftpusers.tar.gz -C /
重建用户(如只备份了配置):
useradd -m -s /usr/sbin/nologin ftpuser
passwd ftpuser
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
systemctl restart vsftpd
systemctl enable vsftpd
ss -lntp | grep 21
FTPS 数据端口通常是动态(被动模式需配置)。
使用 FileZilla:
ufw allow 21/tcp
ufw allow 30000:31000/tcp
vsftpd.conf 配置被动端口:
pasv_min_port=30000
pasv_max_port=31000
✅ 只迁移:
/etc/vsftpd.conf你可以直接告诉我:
我可以给你 精确命令级迁移方案,甚至帮你排查迁移后连不上的问题。