Ftp

同一伺服器能否同時接受顯式和隱式 FTPS?

  • December 7, 2021

我在 Ubuntu 伺服器上使用 VSFTPD。

我有 2 個客戶端想要連接到這個 FTP 伺服器,其中一個使用帶有顯式身份驗證的 FTPS,另一個客戶端使用帶有隱式身份驗證的 FTPS。

無論如何可以配置 VSFTPD,以接受隱式和顯式身份驗證?

這是我的 /etc/vsftpd.conf:

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=NO
# pasv_address=13.55.13.221 
idle_session_timeout=1200
data_connection_timeout=3600
accept_timeout=500
connect_timeout=5000
allow_writeable_chroot=YES
chroot_local_user=YES
user_sub_token=$USER
local_root=/home/$USER/uploads
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
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
require_ssl_reuse=NO
ssl_ciphers=HIGH
utf8_filesystem=YES

正如文件implicit_ssl所說:

為了也支持顯式 SSL 和/或純文字,應該執行一個單獨的 vsftpd 偵聽器程序。

為此,請參閱:

如何設置多個 vsftpd 實例以在不同的偵聽埠上執行?


雖然請注意,隱式 TLS/SSL 是幾十年前引入的一種遺留黑客,用於簡化向加密 FTP 的過渡,當時 FTP 客戶端沒有對 TLS/SSL 的內置支持。今天不應該使用它。因此,您的一位客戶使用它的要求似乎很奇怪。我知道沒有隻支持隱式 TLS 而不支持顯式 TLS 的 FTP 客戶端。

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