0

我有个问题。当我尝试与 ftp 连接时,它会出现此错误。

/etc/vsftpd.conf 

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_umask=022
anon_upload_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
dual_log_enable=YES
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=NO
tcp_wrappers=YES
force_dot_files=YES
ascii_upload_enable=YES
ascii_download_enable=YES
allow_writeable_chroot=YES
seccomp_sandbox=NO
pasv_enable=YES
pasv_min_port=12000
pasv_max_port=12100
max_per_ip=10
max_clients=100
use_localtime=YES
pasv_address='35.195.69.80'

FTP 输出

Status: Connecting to 35.233.4.11:21...
Status: Connection established, waiting for welcome message...
Status: Insecure server, it does not support FTP over TLS.
Status: Server does not support non-ASCII characters.
Status: Logged in
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/" is the current directory
Command:    TYPE I
Response:   200 Switching to Binary mode.
Command:    PASV
Response:   500 OOPS: invalid pasv_address
Command:    PORT 192,168,1,34,199,3
Response:   500 OOPS: priv_sock_get_cmd
Error:  Failed to retrieve directory listing
Error:  Connection closed by server

FTP 连接配置字段

host => packages.pastheme.com
Username => *****
Pass => *****

我所做的是我无法处理这个问题。我在此操作后重置了 VEST,但结果再次相同。我的操作系统 ubuntu 16.04

4

2 回答 2

1

该问题可能与防火墙问题有关:命令端口 (21) 对业务开放,但 PASSIVE 传输模式端口被阻止。可以在这里找到一个很好的解释

就我而言,服务器位于 ISP 提供的额外“防火墙层”后面(例如 AWS 中的安全组)。所以首先观察 Vesta CP 中被动传输模式的最小和最大端口:

pasv_enable=YES
pasv_max_port=12100
pasv_min_port=12000

接下来,确保您打开此范围进行服务: 在此处输入图像描述

于 2020-12-27T11:22:34.110 回答
0

服务器防火墙不允许向客户端发送数据,让它通过以下代码连接:

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

检查是否在 /etc/shells 中注册了新用户路径。

nano /etc/shells

如果没有,我很容易添加了这一行:

/usr/sbin/nologin

毕竟重新启动相关服务以确保:

service iptables restart
service vsftpd restart
于 2019-02-06T16:35:27.567 回答