linux

怎样配置Linux FTP Server SSL加密

小樊
44
2025-04-22 07:09:43
栏目: 云计算

配置Linux FTP服务器以使用SSL加密涉及几个步骤。以下是一个基本的指南,使用vsftpd(Very Secure FTP Daemon)作为FTP服务器软件:

1. 安装vsftpd和SSL证书

首先,确保你的系统上安装了vsftpd和SSL证书。

安装vsftpd

在Debian/Ubuntu系统上:

sudo apt update
sudo apt install vsftpd

在CentOS/RHEL系统上:

sudo yum install vsftpd

获取SSL证书

你可以从Let’s Encrypt免费获取SSL证书,或者购买一个证书。

使用Let’s Encrypt获取证书
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com

2. 配置vsftpd

编辑vsftpd配置文件 /etc/vsftpd.conf

sudo nano /etc/vsftpd.conf

添加或修改以下配置:

# 启用SSL
ssl_enable=YES

# 强制使用SSL连接
force_local_data_ssl=YES
force_local_logins_ssl=YES

# 使用SSL证书和密钥
rsa_cert_file=/etc/letsencrypt/live/yourdomain.com/fullchain.pem
rsa_private_key_file=/etc/letsencrypt/live/yourdomain.com/privkey.pem

# 允许匿名用户登录(如果需要)
anonymous_enable=NO

# 其他安全设置
userlist_enable=YES
tcp_wrappers=YES

# 用户列表文件
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

3. 配置防火墙

确保防火墙允许FTP流量。

在Debian/Ubuntu上:

sudo ufw allow 21/tcp
sudo ufw allow 990/tcp  # FTPS数据连接
sudo ufw reload

在CentOS/RHEL上:

sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=990/tcp
sudo firewall-cmd --reload

4. 重启vsftpd服务

sudo systemctl restart vsftpd

5. 测试FTP连接

使用FTP客户端连接到你的服务器,确保使用的是FTPS(FTP over SSL)。

ftp -v yourdomain.com 21

在连接过程中,你应该会看到SSL握手成功的消息。

6. 验证SSL连接

你可以使用以下命令验证FTP服务器是否正确配置了SSL:

openssl s_client -connect yourdomain.com:21 -starttls ftp

如果一切配置正确,你应该会看到SSL握手成功的消息。

通过以上步骤,你应该能够成功配置Linux FTP服务器以使用SSL加密。

0
看了该问题的人还看了