使用vsftpd的FTP服务器:配置SSL / TLS

时间:2015-08-01 22:40:14

标签: ssl ftp raspberry-pi filezilla vsftpd

我在Raspberry Pi上设置了自己的FTP服务器(操作系统:debian wheezy)。我已经安装了vsftpd,我想用SSL / TLS保护它(当ssl被禁用时它运行良好)。

[以下章节已编辑]

我在这里按照教程:http://crunchtools.com/vsftpd-ssl/。我尝试了与FileZilla的连接,但是我遇到了错误:

  

状态:正在连接到192.168.1.17:21 ...   状态:建立连接,等待欢迎消息...
  回复:220(vsFTPd 2.3.5)
  命令:AUTH TLS
  回复:234继续谈判。
  状态:正在初始化TLS ...
  错误:从服务器收到TLS警报:握手失败(40)
  错误:无法连接到服务器

我的Raspberry Pi和我的电脑在同一个局域网上:我输入了

  

FTPES://192.168.1.17   在FileZilla中的FTP字段中。这是RaspPi本地IP地址。

解决方案可能是sftp(它可以工作),但我不想使用ssh端口。

编辑:我尝试过WinSCP,但它确实有效。所以问题来自FileZilla。我输入以下命令来生成证书文件:
openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
它看起来很安全。我正在检查FileZilla支持的加密算法。

谢谢

1 个答案:

答案 0 :(得分:3)

查看有关difference between FTPS and FTPES的说明(这适用于服务器和客户端)。我不知道vsftpd,但它可能使用隐式FTPS,因此在使用FileZilla时,您应该在主机前加ftps://

如果有疑问,请在Raspberry Pi上使用netstat -a并检查侦听端口及其绑定的接口。如果您有非标准设置,也可以在FileZilla中提供显式端口。

如果vsftpd没有在任何端口上侦听,请查看Raspberry Pi上的/var/log/syslog。通常会在那里记录错误消息。如果vsftpd有自己的日志文件,也请检查一个。

错误Received TLS alert from the server: Handshake failed (40)表示FileZilla和服务器无法就加密(算法和/或强度)达成一致。 FileZilla拒绝使用弱加密,因此必须更新服务器以使用强加密。在FileZilla中,您可以在设置中启用调试输出。然后,您将看到服务器建议的算法列表。

changelog of FileZilla包含有关此主题的一些提示:

  • 在FTP上通过TLS禁用不安全的RC4算法
  • 使用FTP over TLS时拒绝小于1024位的Diffie-Hellman组以防止Logjam攻击