如何在 Debian 上配置 PureFTPd 以接受 TLS 会话
FTP 是一种非常不安全的协议,因为所有密码和所有数据都以明文形式传输。通过使用 TLS,可以对整个通信进行加密,从而使 FTP 更加安全。本文介绍如何配置 PureFTPd 以接受 Debian 服务器上的 TLS 会话。本教程与 Debian 12 (Bookworm) 之前的所有 Debian 版本兼容。
1 初步说明
您的 Debian 服务器上应该有一个可用的 PureFTPd 设置,例如如本教程所示:Debian Lenny 上使用 PureFTPd 和 MySQL 的虚拟主机(包括配额和带宽管理)。
2 安装OpenSSL
TLS 需要 OpenSSL;要安装 OpenSSL,我们只需运行:
apt install openssl
3 配置 PureFTPd
如果您想允许 FTP 和 TLS 会话,请运行
echo 1 > /etc/pure-ftpd/conf/TLS
如果您只想接受 TLS 会话(无 FTP),请运行
echo 2 > /etc/pure-ftpd/conf/TLS
反而。
要根本不允许 TLS(仅 FTP),请删除 /etc/pure-ftpd/conf/TLS 或运行
echo 0 > /etc/pure-ftpd/conf/TLS
4 创建 TLS 的 SSL 证书
为了使用 TLS,我们必须创建 SSL 证书。我在 /etc/ssl/private/ 中创建它,因此我首先创建该目录:
mkdir -p /etc/ssl/private/
之后,我们可以生成SSL证书,如下所示:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
国家/地区名称(2 个字母代码)[AU]:<-- 输入您的国家/地区名称(例如“DE”)。
州或省名称(全名)[Some-State]:<-- 输入您的州或省省份名称。
地点名称(例如,城市)[]:<-- 输入您的城市。
组织名称(例如,公司)[Internet Widgits Pty Ltd]:<-- 输入您的组织名称(例如,您公司的名称)。
组织单位名称(例如部门)[]:<-- 输入您的组织单位名称(例如“IT 部门”)。
通用名称(例如您的姓名)[] :<-- 输入系统的完全限定域名(例如“server1.example.com”)。
电子邮件地址 []:<-- 输入您的电子邮件地址。
更改SSL证书的权限:
chmod 600 /etc/ssl/private/pure-ftpd.pem
最后重新启动 PureFTPd:
service pure-ftpd-mysql restart
就是这样。您现在可以尝试使用 FTP 客户端进行连接;但是,您应该将 FTP 客户端配置为使用 TLS - 请参阅下一章如何使用 FileZilla 执行此操作。
5 配置 FileZilla 的 TLS
为了使用带有 TLS 的 FTP,您需要支持 TLS 的 FTP 客户端,例如 FileZilla。
在 FileZilla 中,打开服务器管理器:
选择使用带有 TLS 的 PureFTPd 的服务器;在服务器类型下拉菜单中,选择 FTPES 而不是普通 FTP:
现在您可以连接到服务器。如果您是第一次执行此操作,则必须接受服务器的新 SSL 证书:
如果一切顺利,您现在应该登录服务器:
6 个链接
- PureFTPd:http://www.pureftpd.org/
- FileZilla:http://filezilla-project.org/
- Debian:http://www.debian.org/