Linux

Vsftpd 通過 wan 訪問

  • February 17, 2016

我似乎無法通過 WAN 獲得 FTP 訪問,本地工作非常好。通過 WAN 的初始連接工作正常,但伺服器拒絕密碼並出現以下錯誤:

'Can't write to control socket. Socket error = #10053'
50000:50010v
vsf50000:5001050000:50010tpd.log isn't much help, only specifying the connect has been made
'Sun Sep 21 04:21:58 2014 [pid 27853] CONNECT: Client "192.168.1.1"'

配置

聽=是
匿名啟用=否
#
# 允許本地使用者登錄
local_enable=YES
#
write_enable=YES
# 啟動目錄消息 - 當遠端使用者收到消息時
# 進入某個目錄。
dirmessage_enable=YES
#
# 如果啟用,vsftpd 將顯示目錄列表和時間
# 在您當地的時區。
use_localtime=YES
#
# 啟動上傳/下載記錄。
xferlog_enable=YES
#
# 確保 PORT 傳輸連接源自埠 20 (ftp-data)。
connect_from_port_20=是

# 你可以限製本地使用者訪問他們的主目錄。請參閱常見問題解答
# 在使用 chroot_local_user 或之前可能存在的風險
# chroot_list_enable 下面。
chroot_local_user=YES
local_root= /home/$USER/backup/
user_sub_token=$USER
#
# 這個選項應該是一個空目錄的名字。此外,該
# 目錄不應該被 ftp 使用者寫入。使用該目錄
# 作為一個安全的 chroot() 監獄,有時 vsftpd 不需要文件系統
# 使用權。
secure_chroot_dir=/var/run/vsftpd/empty
#
# 此字元串是 vsftpd 將使用的 PAM 服務的名稱。
pam_service_name=vsftpd
#
# 此選項指定用於 SSL 的 RSA 證書的位置
# 加密連接。
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
# 此選項指定用於 SSL 的 RSA 密鑰的位置
# 加密連接。
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

ssl_enable=是
allow_anon_ssl=否
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=是
ssl_sslv2=否
ssl_sslv3=否
require_ssl_reuse=否
ssl_ciphers=高

需要更多資訊來幫助您。也許它與主動/被動問題有關。如果活動連接有效,請嘗試:

pasv_enable=Yes
pasv_max_port=15000
pasv_min_port=16000

“listen_port=21”指令在哪裡?

也許你想添加:

ftp_data_port = 20

要啟動日誌記錄:

log_ftp_protocol=yes
xferlog_std_format=yes

為什麼不允許 sslv3?我實際上不記得“connect_from_port_20 = yes”是否適合您在這裡……幾年前切換到proftpd……

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