我在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支持的加密算法。
谢谢
答案 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包含有关此主题的一些提示: