我想在 SliTaz 上使用 FTP over TLS。我使用以下命令安装了 proftpd:
tazpkg get-install proftpd
我习惯在 SliTaz 上启动和停止程序,/etc/init.d/program start or stop
但我不知道如何启动 proftpd,因为没有 /etc/init.d/proftpd。
proftpd 配置仍然是默认的,我尝试连接 FileZilla,但是无法连接到服务器在验证用户身份后。
SliTaz (5.0) 是 Windows 10 主机上的虚拟机。我尝试使用主机上的 FileZilla 连接到 SliTaz 主机专用 IP。
如何在 SliTaz 上配置 proftpd?
编辑
我发现只需proftpd
在命令行中输入即可启动 proftpd。我确实有一个/etc/proftpd.conf
文件,但是当我更改文件中的某些内容时,它不会更改。我无法使用proftpd restart
,所以我假设 proftpd 只需重新加载proftpd
?
我尝试使用 TLS 并执行以下几行/etc/proftpd.conf
:
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol TLSv1.2
TLSCipherSuite AES128+EECDH:AES128+EDH
TLSOptions NoCertRequest AllowClientRenegotiations
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.pem
TLSVerifyClient off
TLSRequired on
RequireValidShell no
</IfModule>
我使用以下代码创建了 proftpd.pemopenssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.pem -keyout /etc/proftpd/ssl/proftpd.pem
正常的 FileZilla 运行完美,但是Require explicit FTP over TLS
返回500 AUTH not understood
。
编辑2
mod_tls.c 默认不编译。proftpd -l
我能够看到所有模块:
Compiled-in modules:
mod_core.c
mod_xfer.c
mod_rlimit.c
mod_auth_unix.c
mod_auth_file.c
mod_auth.c
mod_ls.c
mod_log.c
mod_site.c
mod_delay.c
mod_facts.c
mod_ident.c
mod_cap.c
Mod_tls.c 不在列表中,这可能是它无法工作的原因。如何将 mod_tls.c 添加到 proftpd 列表中?
答案1
有人为 FTPS 创建了 Proftpd TLS SliTaz 包。使用以下命令安装该包:
tazpkg get-install proftpd-tls
您可以使用以下命令启动和停止 proftpd:
/etc/init.d/program start / stop
proftpd 包无需 TLS 即可正常运行。您必须创建证书并在 proftpd 配置文件中对其进行配置。
创建证书:
openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem
使用 TLS 配置 proftpd:
- 打开 /etc/proftpd.conf 并添加:
Include /etc/proftpd/tls.conf
- 创建
/etc/proftpd/tls.conf
并添加:
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol TLSv1.2
TLSCipherSuite AES128+EECDH:AES128+EDH
TLSOptions AllowClientRenegotiations
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient off
TLSRequired off
RequireValidShell no
</IfModule>
- 重新启动Proftpd:
/etc/init.d/program restart
Proftpd 现在可以与 FTPS 配合使用。
特别感谢 Mojo 创建了 proftpd-tls 包。