liren60 发表于 2020-2-14 11:37:34

如何配置PureFTPd和FileZilla使用TLS会话

本帖最后由 liren60 于 2020-2-14 11:47 编辑

配置PureFTPd

打开/etc/pure-ftpd/pure-ftpd.conf ...
nano /etc/pure-ftpd/pure-ftpd.conf

如果要允许FTP 和 TLS会话,请将TLS设置为1:
[...]
#此选项可以接受三个值:
#0:禁用SSL / TLS加密层(默认)。
#1:接受传统会话和加密会话。
#2:拒绝不使用SSL / TLS安全机制的连接,
#包括匿名会话。
#不要盲目地取消注释。请确保:
#1)您的服务器已经过SSL / TLS支持(--with-tls)的编译,
#2)有有效的证书,
#3)只有兼容的客户端才能登录。
TLS 1

[...]

如果只想接受TLS会话(不接受FTP),请将TLS设置为2:
[...]
#此选项可以接受三个值:
#0:禁用SSL / TLS加密层(默认)。
#1:接受传统会话和加密会话。
#2:拒绝不使用SSL / TLS安全机制的连接,
#包括匿名会话。
#不要盲目地取消注释。请确保:
#1)您的服务器已经过SSL / TLS支持(--with-tls)的编译,
#2)有有效的证书,
#3)只有兼容的客户端才能登录。
TLS 2

[...]

要完全禁止TLS(仅FTP),请将TLS设置为0:
[...]
#此选项可以接受三个值:
#0:禁用SSL / TLS加密层(默认)。
#1:接受传统会话和加密会话。
#2:拒绝不使用SSL / TLS安全机制的连接,
#包括匿名会话。#不要盲目地取消注释。请确保:
#1)您的服务器已经过SSL / TLS支持(--with-tls)的编译,
#2)有有效的证书,
#3)只有兼容的客户端才能登录。
TLS 0

[...]

然后删除以下两行前面的#:
TLSCipherSuite         HIGH
CertFile               /etc/ssl/private/pure-ftpd.pem

并保存更改后的配置文件。

为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

Country Name (2 letter code) : <-- Enter your Country Name (e.g., "DE").
国家名称(2个字母代码):<-输入您的国家名称(例如,“ DE”)。
State or Province Name (full name) []:<-- Enter your State or Province Name.
州或省名称(全名)[]:<-输入您的州或省名称。
Locality Name (eg, city) :<-- Enter your City.
地区名称(例如城市)[默认城市]:<-输入您的城市。
Organization Name (eg, company) :<-- Enter your Organization Name (e.g., the name of your company).
组织名称(例如,公司)[默认公司有限公司]:<-输入您的组织名称(例如,公司名称)。
Organizational Unit Name (eg, section) []:<-- Enter your Organizational Unit Name (e.g. "IT Department").
组织单位名称(例如,部分)[]:<-输入您的组织单位名称(例如,“ IT部门”)。
Common Name (eg, your name or your server's hostname) []:<-- Enter the Fully Qualified Domain Name of the system (e.g. "server1.example.com").
通用名称(例如,您的名称或服务器的主机名)[]:<-输入系统的完全合格域名(例如,“ server1.example.com”)。
Email Address []:<-- Enter your Email Address.
电子邮件地址[]:<-输入您的电子邮件地址。




更改SSL证书的权限:
chmod 600 /etc/ssl/private/pure-ftpd.pem
最后,重新启动PureFTPd:
systemctl restart pure-ftpd.service
现在,您可以尝试使用FTP客户端进行连接;但是,您应该将FTP客户端配置为使用TLS-请参阅下一章如何使用FileZilla进行此操作。

5为TLS配置FileZilla为了将FTP与TLS结合使用,您需要一个支持TLS的FTP客户端,例如FileZilla或Firefox FireFTP插件。
在FileZilla中,打开站点管理器:
https://www.howtoforge.com/images/how-to-configure-pureftpd-to-accept-tls-sessions-on-centos-7-2/Filezilla_open_file_manager.png
选择将PureFTPd与TLS一起使用的服务器;在“ 服务器类型”下拉菜单中,选择“ 需要通过TLS的显式FTP,而不是常规FTP:”
https://www.howtoforge.com/images/how-to-configure-pureftpd-to-accept-tls-sessions-on-centos-7-2/Filezilla_site_manager_details.png
现在您可以连接到服务器了。如果您是第一次这样做,则必须接受服务器的新SSL证书,因为我们在此处使用自签名SSL证书:
https://www.howtoforge.com/images/how-to-configure-pureftpd-to-accept-tls-sessions-on-centos-7-2/FileZilla_ssl_accept.png
如果一切顺利,则现在应该登录服务器:
https://www.howtoforge.com/images/how-to-configure-pureftpd-to-accept-tls-sessions-on-centos-7-2/filezilla_tls_login_successfull.png



此方法在本地虚拟机测试通过, 但是在阿里云和腾讯云上测试卡在AUTH TLS 后不能继续。 希望有人能测试一下看问题在哪里?


liren60 发表于 2020-2-14 16:22:07

已经测试正常了,是我本地客户端的原因。 所以到此结束。 此方法是正确安装TLS加密的方法。

liren60 发表于 2020-2-14 17:35:45

本帖最后由 liren60 于 2020-2-14 17:37 编辑

我们这里的中国电信宽带封锁了21端口,所以用21端口TLS加密登录不了。
解决办法:
1.电话10000号,报故障然后要求后台做数据的开放21端口。

2. 直接改变pureftpd的21端口为其他端口。
(两种办法用一种就可以了)

问题圆满解决。 从此使用上加密FTP。



页: [1]
查看完整版本: 如何配置PureFTPd和FileZilla使用TLS会话