无法连接到 Centos 7.1 上的 VSFTPD

无法连接到 Centos 7.1 上的 VSFTPD

我对此并不专业,但我已经多次在 centos 6+ 上安装 vsftpd,无论有没有 TLS 都能正常工作。但 24 小时以来,我一直无法在全新安装的 Centos 7.1 上让它工作。

我想我已经遵循了网络上现在的所有教程。;)但仍然没有成功。

也许有人能看出我做错了什么?

目前我的/etc/vsftpd/vsftpd.conf情况如下:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=NO     <-- tried both yes and no
xferlog_std_format=YES
chroot_local_user=YES

listen=YES               <-- tried both yes and no
listen_ipv6=NO           <-- tried both yes and no

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=NO      <-- tried both yes and no
force_local_logins_ssl=NO    <-- tried both yes and no

ssl_tlsv1=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/ssl/private/vsftpd.key

每次更改后,vsftpd 都会重新启动并进行测试。检查时,systemctl status vsftpd它处于活动状态并正在运行。

起初,firewalld 正在运行,我使用 --permanent 打开了端口 21,然后重新加载了 firewalld。然后我将其关闭,但没有成功。

我尝试使用非 root 用户身份登录,通过 SSH 可以正常登录。我尝试过使用和不使用 TLS。感觉好像我漏掉了某个地方的逗号之类的微小而“愚蠢”的东西。

当我尝试连接时,我使用 Mac 的传输。没有 TLS,我收到错误代码 203。使用 TLS 时,错误代码为 157。

如果这两个都设置为YES:

force_local_data_ssl=YES
force_local_logins_ssl=YES

当我尝试不使用 TLS 时,出现错误,提示我需要启用安全连接。所以看起来它在某种程度上是有效的,只是不想让我进入。

对于可能存在的问题有什么建议吗?

答案1

经过更多的研究和尝试,我找到了这个答案: https://www.benscobie.com/fixing-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/

通过添加这个:

allow_writeable_chroot=YES

我现在可以毫无问题地登录。

但是,再次打开防火墙时 TLS 不起作用。所以目前我只能使用不太安全的 SFTP。如果您知道该问题的解决方案,请添加评论或回复!

相关内容