温馨提示×

linux ftpserver怎样加密

小樊
36
2026-09-14 09:32:19
栏目: 网络安全

在 Linux 上搭建 FTP 服务器 时,“加密”通常有两层含义,需要分清楚:

  1. 传输加密(推荐):防止账号密码和文件内容被窃听
  2. 存储加密:服务器上的文件本身加密(较少见,一般不是 FTP 层面做)

下面按最常见、最实用的方式说明。


一、使用 FTPS(FTP over SSL/TLS)✅ 推荐

FTPS = FTP + SSL/TLS
兼容性好,配置简单。

常用软件

  • vsftpd(最常见)
  • ProFTPD

以 vsftpd 为例(最主流)

1. 安装 vsftpd

# Debian / Ubuntu
apt install vsftpd

# CentOS / Rocky / Alma
yum install vsftpd

2. 生成 SSL 证书

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

3. 修改 vsftpd 配置

编辑 /etc/vsftpd.conf

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES

# SSL/TLS
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

rsa_cert_file=/etc/vsftpd/vsftpd.crt
rsa_private_key_file=/etc/vsftpd/vsftpd.key

4. 重启服务

systemctl restart vsftpd

5. 客户端连接

  • 使用 FTPS(显式 SSL)
  • 端口:21
  • 客户端:FileZilla、WinSCP 等

二、使用 SFTP(SSH File Transfer)✅ 更安全

⚠️ 注意:SFTP ≠ FTPS

  • SFTP 基于 SSH
  • 默认端口 22
  • 不需要额外 FTP 服务

启用方式

只要系统有 SSH:

systemctl status sshd

客户端直接用:

  • sftp user@ip
  • FileZilla → SFTP 模式

这是最安全、最推荐的方式


三、不推荐的方式

❌ 普通 FTP(21 端口,明文)

  • 账号密码可被抓包
  • 除非在隔离内网,否则不要用

四、选择建议

场景 推荐
对外提供服务 SFTP
必须用 FTP 协议 FTPS(vsftpd)
内部测试 FTP(不推荐)

五、可以告诉我

  • 你用的是 哪款 Linux(Ubuntu/CentOS?)
  • 想用 vsftpd / ProFTPD / SFTP
  • 公网还是内网

我可以给你一份可直接用的配置文件

0