Ken*_*nny 3 virtualbox ftp vsftpd
我在 VirtualBox 机器上使用 Ubuntu 服务器。Apache 和 SSH 都可以工作,但是 FTP 成功连接到服务器并登录后,它发送错误消息:
- Command: PORT 127,0,0,1,180,221
- Response: 500 Illegal PORT command.
- Error: Failed to retrieve directory listing
Port Forwarding:
TCP | Host Port 2100 | Guest Port 21
Run Code Online (Sandbox Code Playgroud)
我的 vstpd.conf 文件:
listen=YES
pasv_enable=YES
pasv_min_port=2005
pasv_max_port=2010
port_enable=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=NO
ftpd_banner=Welcome.
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
Run Code Online (Sandbox Code Playgroud)
小智 6
杰克班尼很近...
我使用 Ubuntu 在 AWS 上运行,这是我为使 vsftpd 正确运行所做的工作:
seccomp_sandbox=NO
allow_writeable_chroot=YES
pasv_address=<(public ip) or (AWS public domain or DNS)>
pasv_enable=Yes
pasv_min_port=30000
pasv_max_port=30100
port_enable=YES
Run Code Online (Sandbox Code Playgroud)
然后,您必须确保允许端口20,21,30000-30100
通过。请记住,端口选择30000-30100
是完全任意的,可以是您想要的任何内容。虽然,我会坚持使用上面的端口10000
以及一系列100
或更多的端口。
从“外部”连接时是否收到该错误?在这种情况下,您可能需要将外部 IP 添加到 vsftpd,以便它知道在使用被动模式 FTP 时向其客户端发送哪个 IP。
尝试添加pasv_address=<YOUR_IP_HERE>
到您的配置中。
您也可以尝试将 FTP 客户端切换到活动模式,看看是否仍然出现相同的错误。
您可能还需要为passiv FTP 设置端口范围并启用passiv 模式FTP。尝试添加这些行(将 START_PORT 和 END_PORT 替换为您想要的端口,并且不要忘记在路由器中转发它们):
pasv_enable=Yes
pasv_max_port=<START_PORT>
pasv_min_port=<END_PORT>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
30559 次 |
最近记录: |