首页主机资讯Ubuntu FTP如何启用SSL

Ubuntu FTP如何启用SSL

时间2025-11-22 01:30:03发布访客分类主机资讯浏览1412
导读:Ubuntu FTP启用SSL的实操指南 一 准备与证书 安装 vsftpd 执行:sudo apt update && sudo apt install vsftpd 准备 SSL 证书(二选一) 自签名证书(测...

Ubuntu FTP启用SSL的实操指南

一 准备与证书

  • 安装 vsftpd
    • 执行:sudo apt update & & sudo apt install vsftpd
  • 准备 SSL 证书(二选一)
    • 自签名证书(测试/内网)
      • 执行:sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.crt
      • 合并证书与密钥(部分 vsftpd 配置要求同一文件):sudo cat /etc/ssl/certs/vsftpd.crt /etc/ssl/private/vsftpd.key > /etc/ssl/certs/vsftpd.pem
    • Let’s Encrypt 证书(公网生产)
      • 安装 Certbot:sudo apt install certbot python3-certbot-nginx
      • 获取证书:sudo certbot certonly --standalone -d yourdomain.com
      • 证书路径:/etc/letsencrypt/live/yourdomain.com/fullchain.pem/etc/letsencrypt/live/yourdomain.com/privkey.pem
  • 权限建议
    • 私钥仅 root 可读:sudo chmod 600 /etc/ssl/private/vsftpd.key
    • 证书可读:sudo chmod 644 /etc/ssl/certs/vsftpd.crt/etc/ssl/certs/vsftpd.pem

二 配置 vsftpd 启用 SSL

  • 备份配置:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
  • 编辑:sudo nano /etc/vsftpd.conf,常用关键项如下(按需调整)
    • 基础启用
      • ssl_enable=YES
      • allow_anon_ssl=NO
      • force_local_logins_ssl=YES
      • force_local_data_ssl=YES
    • 协议与套件(禁用不安全协议)
      • ssl_tlsv1=YES
      • ssl_sslv2=NO
      • ssl_sslv3=NO
    • 证书路径(二选一,注意与证书准备一致)
      • 自签名或合并文件:rsa_cert_file=/etc/ssl/certs/vsftpd.pemrsa_private_key_file=/etc/ssl/private/vsftpd.key
      • Let’s Encrypt:rsa_cert_file=/etc/letsencrypt/live/yourdomain.com/fullchain.pemrsa_private_key_file=/etc/letsencrypt/live/yourdomain.com/privkey.pem
    • 其他常用
      • listen=YES
      • listen_ipv6=NO
      • anonymous_enable=NO
      • local_enable=YES
      • write_enable=YES
      • chroot_local_user=YES
      • pam_service_name=vsftpd
      • userlist_enable=YES
      • tcp_wrappers=YES
  • 说明
    • 某些 vsftpd 版本使用 ssl_cert_file/ssl_key_file,若配置项不存在可忽略;以 rsa_cert_file/rsa_private_key_file 为准更通用。

三 防火墙与被动模式端口

  • UFW 放行
    • 控制通道:sudo ufw allow 21/tcp
    • 显式 FTPS 端口:sudo ufw allow 990/tcp
    • 被动模式端口范围(建议配置,避免数据连接失败):sudo ufw allow 40000:50000/tcp
  • 云服务器安全组
    • 放行上述端口(21990、以及被动端口段)。

四 启动与验证

  • 重启服务:sudo systemctl restart vsftpd
  • 查看状态:sudo systemctl status vsftpd(异常时 journalctl -xeu vsftpd 排查)
  • 客户端连接测试
    • FileZilla:协议选 FTP - FTPS(显式),主机填域名或 IP,端口 21;首次连接应出现证书指纹确认。
    • 命令行(如不强制加密可用普通 ftp,但建议用支持 TLS 的客户端):lftp -u youruser -p 21 yourdomain.com -e "set ftp:ssl-force true; ls; quit"

五 常见问题与优化

  • 证书路径或权限错误
    • 确保证书与私钥路径正确、权限为 600/644,证书文件可读。
  • 被动模式失败
    • vsftpd.conf 增加:pasv_enable=YESpasv_min_port=40000pasv_max_port=50000,并放行对应端口段。
  • 协议与套件
    • 禁用 SSLv2/SSLv3,仅启用 TLSv1.x;如客户端支持更佳的 TLSv1.2/1.3,可在支持的 vsftpd 版本中优先使用。
  • 日志排查
    • 关注 /var/log/vsftpd.logjournalctl -u vsftpd 的输出,定位握手失败、证书不匹配等问题。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu FTP如何启用SSL
本文地址: https://pptw.com/jishu/753960.html
Ubuntu FTP如何进行日志记录 如何排查Ubuntu FTP故障

游客 回复需填写必要信息