当前位置: 首页 > Linux

【经典】在阿里云ecs上搭建vsftpd遇到的问题及解决方法

时间:2023-04-06 05:21:00 Linux

前言在阿里云的ECS上搭建VSFTPD遇到了一些奇怪的问题,下面分享一下解决方法。vsftpd配置最新的vsftpd是2.2.2版本vsftpd-v可以查看,配置文件和之前有很大不同,我们可以按照阿里云给的文档进行配置链接:ECS阿里云VSFTPD官方文档网上有很多关于user_list的教程关于user_list的说法是,如果userlist_enable=YES和userlist_deny=YES都打开了,就表示user_list文件是禁止用户。但实际上新版的配置文件只有一个userlist_enable=YES,意思是“如果是YES则禁止里面的用户登录”,这个地方需要注意。关于ftp没有反应。使用21端口访问时,长时间无响应。查看iptables,发现已经关闭了。另外用netstat命令查看vsftpd确实在监听21端口。于是怀疑是不是ecs本身设置的问题。登录控制台,发现有安全组配置。有些端口是自己打开的。所以我们新建一个安全组,添加端口为21/21,然后就可以登录了。关于filezilla失效问题,对于ftp来说,有主动(pass)和被动(pasv)两种模式。这里简单介绍一下:主动:服务器连接客户端被动:客户端连接服务器有什么区别?客户端在内网,经过层层代理,如果服务器连接到我,它可能找不到我。所以我们不得不使用被动模式,这也是最常用的模式。但是报错了!!已建立连接,等待欢迎消息...状态:不安全的服务器,不支持基于TLS的FTP。状态:已登录状态:正在读取“/”的目录列表...状态:服务器发回了一个不可路由的地址。请改用服务器地址。然后,在查找资料的时候,很多资料都是关于从被动模式恢复到主动模式,但是稍微想一想,我们就知道这种方法是错误的。我们来分析一下:必须使用被动模式让客户端连接到服务器端。服务器会告诉客户端“我已经打开了xx端口,你过来连接”。意思是xxx端口必须对客户端可见。这个要看安全组的Configuration那么安全组的配置就是配置范围。如何让vsftpd打开的端口正好在这个范围内?配置vsftpd.conf被动模式的端口范围。以上就是我们解决这个问题的思路。配置一个范围,在/etc/vsftpd/vsftpd.conf中加入如下代码,不用担心,我们得去安全组把这个范围内的端口开放,让客户端连接进去,然后就可以了完毕!