VPS侦探论坛

 找回密码
 注册
查看: 3382|回复: 2

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

[复制链接]
发表于 2020-2-14 11:37:34 | 显示全部楼层 |阅读模式

本帖最后由 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) [XX]: <-- Enter your Country Name (e.g., "DE").
国家名称(2个字母代码)[XX]:<-输入您的国家名称(例如,“ DE”)。
State or Province Name (full name) []:<-- Enter your State or Province Name.
州或省名称(全名)[]:<-输入您的州或省名称。
Locality Name (eg, city) [Default City]:<-- Enter your City.
地区名称(例如城市)[默认城市]:<-输入您的城市。
Organization Name (eg, company) [Default Company Ltd]:<-- 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中,打开站点管理器:

选择将PureFTPd与TLS一起使用的服务器;在“ 服务器类型”下拉菜单中,选择“ 需要通过TLS的显式FTP,而不是常规FTP:”

现在您可以连接到服务器了。如果您是第一次这样做,则必须接受服务器的新SSL证书,因为我们在此处使用自签名SSL证书:

如果一切顺利,则现在应该登录服务器:




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


美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2020-2-14 16:22:07 | 显示全部楼层


已经测试正常了,是我本地客户端的原因。 所以到此结束。 此方法是正确安装TLS加密的方法。
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2020-2-14 17:35:45 | 显示全部楼层

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

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

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

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



美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-9-21 22:52 , Processed in 0.026878 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表