vsftpd 不会在启用 SSL 的情况下启动

Col*_*lap 5 ftp vsftpd openssl 13.10

我在尝试在我的 Ubuntu Server 13.10 机器上设置 FTPS 服务器时遇到问题。我已经安装了 vsftpd。

当我尝试使用启动服务时,sudo service vsftpd start我得到:

vsftpd start/pre-start, process 5922

然而,ps aux | grep vsftpd什么也没有。

我在/var/log/dmesg以下位置发现了这个错误:

[ 11.212518] init: vsftpd main process (1137) terminated with status 2

结果sudo vsftpd是:

500 OOPS: SSL: cannot load RSA certificate

权限\etc\vsftpd\vsftpd.pem当前设置为:

-rw-r--r-- 1 root root 1708 Jan 28 05:15 vsftpd.pem

我尝试将权限更改为 777,但仍然无效。

我使用以下命令创建证书:

openssl req -x509 -nodes -days 720 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

/etc/vsftpd.conf的如下:

listen=YES
anonymous_enable=NO
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=NO
xferlog_file=/var/log/vsftpd.log
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
listen_port=2000
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
hide_ids=YES
max_per_ip=10
max_clients=10
port_enable=YES
pasv_enable=YES
pasv_min_port=11000
pasv_max_port=11030
require_ssl_reuse=NO
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,因为我正式绘制了一个空白。

提前致谢。

更新:

我刚刚尝试过:

rsa_cert_file=/etc/ssl/private/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
Run Code Online (Sandbox Code Playgroud)

有效。所以我在想我搞砸了证书生成。我对 OpenSSL 的了解还不够深入,无法进一步了解。

Col*_*lap 10

我想到了。我更改了 openssl 生成命令:

openssl req -x509 -nodes -days 720 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

到:

openssl req -x509 -nodes -days 720 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.key -out /etc/vsftpd/vsftpd.pem

结果是 a/etc/vsftpd/vsftpd.pem和 a /etc/vsftpd/vsftpd.key

我更新/etc/vsftpd.conf了,服务立即启动。