FTP是非常不安全的协议,因为所有密码和所有数据都以明文形式传输。 通过使用TLS,可以对整个通信进行加密,从而使FTP更加安全。 本文介绍如何配置PureFTPd在Debian Lenny服务器上接受TLS会话。
1初步说明
您应该在Debian Lenny服务器上安装一个工作的PureFTPd设置,例如本教程所示: 使用PureFTPd和MySQL虚拟主机(包括配额和带宽管理)在Debian Lenny上 。
2安装OpenSSL
TLS需要OpenSSL; 要安装OpenSSL,我们只需运行:
aptitude 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”)。 州或省名称(全名)[某些州]:
< - 输入您的州或省名称。 地点名称(例如,城市)[]:
< - 输入您的城市。 组织名称(例如,公司)[互联网Widgits有限公司]:
< - 输入您的组织名称(例如,您公司的名称)。 组织单位名称(如部分)[]:
< - 输入您的组织单位名称(例如“IT部门”)。 通用名称(例如,您的姓名)[]:
< - 输入系统的完全限定域名(例如“server1.example.com”)。 电子邮件地址[]:
< - 输入您的电子邮件地址。
更改SSL证书的权限:
chmod 600 /etc/ssl/private/pure-ftpd.pem
最后重新启动PureFTPd:
/etc/init.d/pure-ftpd-mysql restart
而已。 您现在可以尝试使用FTP客户端连接; 但是,您应该将FTP客户端配置为使用TLS - 请参阅下一章如何使用FileZilla执行此操作。
5配置FileZilla for TLS
为了使用FTP与TLS,您需要一个支持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/