【经典】阿里云ecs 搭建vsftpd遇到的问题以及解决方案
前言
在阿里云的ECS上搭建VSFTPD的时候遇到了一些奇怪的问题,下面将解决方案分享下。
vsftpd配置
最新的vsftpd是2.2.2版本vsftpd -v
可以查看,配置文件跟之前有很大的不同,我们可以按照阿里云给出的文档进行配置
关于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)两种模式的,简单介绍下:
主动:服务端来链接客户端
被动:客户端去链接服务端
有什么区别呢?客户端在内网,经过层层代理,如果服务端来链接我的话,可能会找不到我。所以我们要用被动模式,也是最常用的模式。
但是报错了!!
连接建立,等待欢迎消息... 状态: 不安全的服务器,不支持 FTP over TLS。 状态: 已登录 状态: 读取“/”的目录列表... 状态: 服务器发回了不可路由的地址。使用服务器地址代替。
然后找资料很多都是说从被动模式回退为主动模式,但是我们稍加思考就知道这种方式不对哦。
我们来分析下:
- 必须使用被动模式,让客户端去链接服务端
- 服务端会告诉客户端『我打开了xx端口,你过来链接』
- 说明xxx端口对于客户端必须是可见的,这个要考虑安全组配置
- 那么安全组配置是配置范围,如何我让vsftpd开放的端口刚好在这个范围内呢?
- 配置vsftpd.conf的被动模式的端口范围
上面就是我们解决这个问题的思路,配置一个范围,在/etc/vsftpd/vsftpd.conf
中加入下面代码
pasv_enable=YES pasv_max_port=7000 pasv_min_port=6000
开启了6000-7000的端口,不要着急,我们还要去安全组将这个范围的端口打开,允许客户端链接进来,然后就大功告成!
原文地址:https://segmentfault.com/a/1190000011401764
相关推荐
-
Dockerfile 中的 COPY 与 ADD 命令 服务器
2019-5-11
-
如何关闭 Firefox 的静默请求 服务器
2019-3-11
-
以太坊预言机与智能合约开发 服务器
2020-6-22
-
理解Go协程与并发 服务器
2019-9-15
-
禁止Golang编译时“imported and not used”和“declared and not used”两种报错 服务器
2019-7-4
-
Nginx 到底可以做什么?看完这篇你就懂了! 服务器
2020-6-10
-
MySQL 启动原理剖析 服务器
2019-5-9
-
微服务网关SIA-GateWay使用指南 服务器
2019-8-16
-
如何创建一个安全的Docker基础镜像 服务器
2020-6-21
-
分享一下利用phpqrcode二维码生成类库和imagecopymerge函数制拼合(镶嵌、合并、水印)图片经验 服务器
2019-3-15