Linux

如何在 SliTaz 中使用 proftpd

  • July 19, 2020

我想在 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 列表中?

有人為 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:

  1. 打開 /etc/proftpd.conf 並添加:Include /etc/proftpd/tls.conf
  2. 創建/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>
  1. 重啟 Proftpd:/etc/init.d/program restart

Proftpd 現在可以與 FTPS 一起使用。

特別感謝 Mojo 創建 proftpd-tls 包。

引用自:https://serverfault.com/questions/1017729