![vsftp 在终端上运行,但在 filezilla 和浏览器上不运行](https://linux22.com/image/765545/vsftp%20%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%8A%E8%BF%90%E8%A1%8C%EF%BC%8C%E4%BD%86%E5%9C%A8%20filezilla%20%E5%92%8C%E6%B5%8F%E8%A7%88%E5%99%A8%E4%B8%8A%E4%B8%8D%E8%BF%90%E8%A1%8C.png)
我在 VPS 下的 docker 镜像中工作!我已经在 ubuntu 20.04 中安装了 vsftp!一开始我在命令行中测试了 ftp 127.0.0.1,一切顺利,我创建了一个用户并测试了文件传输。添加 ssl 证书后,我想通过 filezilla 或浏览器进行连接,但它不起作用,服务器没有 ip 地址 127.0.0.1!请问我该如何解决这个问题!
以下是 filezilla 的输出:
响应:220(vsFTPd 3.0.3)
命令:AUTH TLS
答案:530 请使用USER和PASS登录。
命令:AUTH SSL
答案:530 请使用USER和PASS登录。
状态:不安全的服务器,它不支持 TLS 上的 FTP。
命令:USER rayen
答案:530 权限被拒绝。
文件日志中没有任何内容 => 它是空的 /var/log/vsftpd.log
/etc/vsftpd.conf :监听 = 否
listen_ipv6=是
匿名启用=否
本地启用=是
写入启用=是
dirmessage_enable=是
使用本地时间=是
xferlog_enable=YES
连接端口 20=是
chroot_local_user=是
secure_chroot_dir=/var/run/vsftpd/空
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable =是
用户子令牌=$用户
local_root=/home/$USER/ftp
pasv_min_port=30000
pasv_max_port=31000
用户列表启用=YES
用户列表文件=/etc/vsftpd.用户列表
用户列表拒绝=否
我遵循了这个教程:
答案1
状态:不安全的服务器,它不支持 TLS 上的 FTP。
您需要颁发证书(我建议使用 Let's Encrypt 来执行此操作)颁发证书后,在 /etc/vsftpd.conf 文件中设置这些变量
listen=NO
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/server.pem
rsa_private_key_file=/etc/ssl/private/server.key
ssl_enable=YES
要使用 Filezilla 连接,请记住选择选项如果可用,请使用显式 FTP over TLS。