温馨提示×

linux ftpserverssl怎么配

小樊
46
2026-09-08 05:56:22
栏目: 云计算

你提到的 “ftpserverssl” 大概率是指 Linux 下配置支持 SSL/TLS 的 FTP 服务器(通常是 vsftpd + SSL)。下面我以 vsftpd(最常见) 为例,给你一套可直接用的配置步骤


一、安装 vsftpd

# CentOS / RHEL
yum install vsftpd -y

# Ubuntu / Debian
apt update
apt install vsftpd -y

二、生成 SSL 证书

方式 1:自签证书(测试用)

openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/vsftpd/vsftpd.key \
-out /s /etc/vsftpd/vsftpd.crt

注意路径,有些系统是 /etc/ssl/certs/

方式 2:用已有证书(推荐生产)

/etc/ssl/certs/your_domain.crt
/etc/ssl/private/your_domain.key

三、配置 vsftpd 支持 SSL

编辑配置文件:

vim /etc/vsftpd/vsftpd.conf

基础 SSL 配置(核心)

# 启用 SSL
ssl_enable=YES

# 证书文件
rsa_cert_file=/etc/vsftpd/vsftpd.crt
rsa_private_key_file=/etc/vsftpd/vsftpd.key

# 强制使用 TLS(推荐)
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

# 不允许匿名用户使用 SSL
allow_anon_ssl=NO

# 本地用户必须加密
force_local_data_ssl=YES
force_local_logins_ssl=YES

# 被动模式(云服务器必须)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

四、防火墙 & SELinux

防火墙

# FTP 控制端口
firewall-cmd --add-port=21/tcp --permanent

# 被动端口
firewall-cmd --add-port=30000-31000/tcp --permanent
firewall-cmd --reload

SELinux(CentOS)

setsebool -P ftpd_full_access on

五、启动 vsftpd

systemctl restart vsftpd
systemctl enable vsftpd

六、客户端连接方式

  • FileZilla
    • 协议:FTP over TLS
    • 端口:21
  • 命令行(lftp)
lftp
set ssl:verify-certificate no
open ftps://user@ip

七、常见问题

530 Login incorrect
→ 检查 local_enable=YES

连接超时
→ 云服务器安全组未放通被动端口

证书不受信任
→ 自签证书,客户端需信任或关闭验证


如果你说的是 ProFTPD / Pure-FTPd / 某个具体软件,或者你是 Docker / 云服务器场景,告诉我我可以给你对应配置。

0