0

我在 Raspberry Pi(操作系统:debian wheezy)上设置我自己的 FTP 服务器。我已经安装了 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 和我的 PC 在同一个 LAN 上:我输入了

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 支持的加密算法。

谢谢

4

1 回答 1

3

查看有关FTPS 和 FTPES 之间区别的描述(这适用于服务器和客户端)。我不知道 vsftpd,但它可能正在使用隐式 FTPS,所以ftps://在使用 FileZilla 时应该在主机前加上前缀。

如果有疑问,netstat -a请在您的 Raspberry Pi 上使用并检查监听端口和它们绑定的接口。您也可以在 FileZilla 中提供明确的端口,以防您有非标准设置。

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

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

FileZilla的更新日志包含有关此主题的一些提示:

  • 在 FTP over TLS 中禁用不安全的 RC4 算法
  • 在使用 FTP over TLS 来防止 Logjam 攻击时拒绝小于 1024 位的 Diffie-Hellman 组
于 2015-08-01T23:40:34.077 回答