Ubuntu 服务器上的 FTP 失败

Ubuntu 服务器上的 FTP 失败

我仍在学习 Ubuntu 16.04。以下是我的 ftp 失败情况。两个月前,我在 Unbuntu 服务器上安装了 vsftpd,上周日我使用它时,一切都很好。但现在我尝试连接到 ftp,但得到的结果为“连接被拒绝”,如下所示:

ftp: connect to address ::1: Connection refused
Trying 127.0.0.1...
ftp: connect: Connection refused  

/var/log/syslog 的内容如下:

Jun 27 19:36:22 ubuntu systemd[1]: Starting vsftpd FTP server...
Jun 27 19:36:22 ubuntu systemd[1]: Started vsftpd FTP server.
Jun 27 19:36:22 ubuntu systemd[1]: vsftpd.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Jun 27 19:36:22 ubuntu systemd[1]: vsftpd.service: Unit entered failed state.
Jun 27 19:36:22 ubuntu systemd[1]: vsftpd.service: Failed with result 'exit-code'.  

我在网上搜索解决方案并尝试过,但没有好的结果。 我也检查了 iptables,它们是空的,如下所示:

Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination  

...这意味着 iptables 中什么都没有保留,对吗?这是我的 vsftpd.conf:

listen=YES
listen_ipv6=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=YES
xferlog_file=/var/log/vsftpd.log
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
guest_enable=YES
guest_username=workers
user_config_dir=/etc/vsftpd/userconfig/
user_sub_token=$USER
local_root=/home/work/$USER
hide_id=YES
allow_writeable_chroot=YES
local_umask=022
pasv_enable=YES
pasv_min_port=64000
pasv_max_port=65535   

我真的不知道我的服务器上的 vsftpd 出了什么问题。

答案1

我安装了vsftpd您的配置文件,以便在我的 Ubuntu 16.04 上重现。通常,当您启动服务时日志中没有足够的信息时,您可以尝试直接执行可执行文件。在本例中,这给出:

$ vsftpd
500 OOPS: unrecognised variable in config file: hide_id

可以通过删除包含“hide_id”的行来修复此问题。

重新运行,你会遇到另一个问题:

$ vsftpd
500 OOPS: run two copies of vsftpd for IPv4 and IPv6

可以通过删除“listen_ipv6=YES”或“listen=YES”来修复此问题。

相关内容