####禁止自行转载

####违者必究

####需要转载请联系我

因为最近用python写了一个自动上传的脚本,想通过FTP把数据上传到我的服务器。

于是,

兴高采烈地打开我一直信任的阿里云,yum install vsftpd。

bing!成功安装好,修改配置文件开始

想通过本地模式登录,先把匿名访问模式给关了。

anonymous_enable=NO

再把 /etc/vsftpd/ftpusers 和 /etc/vsftpd/user_list 两个文件中的root删掉,保证root用户可以登录ftp,没毛病了吧?

systemctl start vsftpd
systemctl enable vsftpd

再重启,加入开机启动项!没毛病了吧?

阿里云安全组放行全部端口,防火墙关了,SELINUX禁用,没毛病了吧?

打开python脚本上传资料,why?错误?肯定是python脚本有错!不可能是我的阿里云有错的!

先在脚本加入两行ftp调试代码,然后一看!咦!怎么一直在entering passive mode?然后就 ftp:connect:Connect timed out。

好吧,我知识量不够,那我学!

百度搜一遍,谷歌搜一遍。

百度搜到的全部都是先解释一下主被动模式,然后叫你关闭passive mode的。。。。。。但是为什么entering passive mode就不行?我不服!

然后谷歌了一番(边看还要开着个翻译软件真的苦啊!~)

最后在某个问答贴看到entering passive mode后边几个数字的含义。

附上原帖地址,感谢!

172.18.144.104就是ftp客户端要连接的ip

139*256+=35731的意思就是服务端开启35731端口,然后让客户端连接。

我看了一下这个IP,不对啊?!这不是内网ip么?

上阿里云服务器 ifconfig 看下,原来真的是内网IP。(后来才了解到弹性服务器的真正意义。有兴趣的童鞋请百度吧,这里不多说了哦)

然后接下来又是漫长的搜索与学习,以及后来的请阿里云服务支持。

最终阿里云给我的答复是,在vsftpd配置文件下添加下面几行配置。

pasv_enable=YES
pasv_address=#我的外网IP
pasv_min_port=1024
pasv_max_port=2048
pasv_promiscuous=YES #关闭PASV模式的安全检查

配置好之后我在阿里云服务器本身 ftp 连接到本身服务器,成功了!终于能进入passive mode了!

兴奋!欣喜若狂!赶紧结束工单,给了个五星好评!

然后回到宿舍,运行一下python自动上传脚本。、

what?又进入passive mode失败?entering passive mode(0,0,0,0,xxx,xxx)

肯定是python脚本哪里写错了!

检查一遍又一遍,没毛病啊!

后来在自己的 linux 备用机 ftp 尝试连接一下阿里云的 vsftpd 。

还是不行!我还不死心,借了朋友的服务器连接,还不行!!!

此时我已经折腾了几天了,天天搜索,问题出在哪里。睡醒就开始搜,舍友睡觉了我也还在搜,天天都是头发蓬乱,双眼通红的状态。

终于不堪劳累,把问题记好,我放弃了。

直到今天,看到腾讯云搞年中活动耶,买个玩玩,搭搭服务。

腾讯云也是两个IP,一个公网,一个私有。

心里想,FTP服务肯定又没戏了。肯定和阿里云一样。

不过都买了,搭来试试。配置文件:

anonymous_enable=NO

一样的,/etc/vsftpd/ftpusers 和 /etc/vsftpd/user_list 两个文件中的root删掉。

启动试试?

开阿里云 ftp 连接,???,连上了???

不信!用linux备用机 ftp 连接,也连上了???

不信!运行python脚本,ftp l连接,连上了???

那一刻很懵逼,彷佛多年以来我觉得很牛逼的东西只是别人的冰山一角。上腾讯云 ifconfig 看看,居然是内网IP?

为什么同样 ifconfig 都是内网IP,同样都是私有IP映射公网IP,腾讯云可以 ftp 连接,而你阿里云连这点东西都做不到?

还修改了一大堆配置文件,依然于事无补。而腾讯云只要简简单单的常规配置就可以连接了。

令我有点失望了,阿里云。

阿里云ftp连接遇到的错误,entering passive mode失败(一个并不成熟的产品?)的更多相关文章

  1. 常见的错误:FTP连接时出现“227 Entering Passive Mode”

    FTP的主动模式(PORT Mode)及被动模式(Passive Mode) FTP的特殊性: 大多数的TCP服务是使用单个的连接,一般是客户向服务器的一个周知端口发起连接,然后使用这个连接进行通讯. ...

  2. FTP连接时出现“227 Entering Passive Mode” 的解决方法

    今天从公网的服务器连接本地内网的FTP server copy文件时,系统老是提示227 Entering Passive Mode (xxx,xxx,,xxx,xxx,x),很是奇怪,于是上网找资料 ...

  3. FileZilla客户端连接腾讯云FTP服务器时出现“227 Entering Passive Mode”

    FTP的主动模式(PORT Mode)及被动模式(Passive Mode) FTP的特殊性: 大多数的TCP服务是使用单个的连接,一般是客户向服务器的一个周知端口发起连接,然后使用这个连接进行通讯. ...

  4. 阿里云服务器连接ftp服务(软件的使用)

    首先你需要有一个阿里云的ECS服务器 开通了宽带之后,ECS服务器就可以上网了 可以在本地电脑cmd控制台运行mstsc.exe启动远程桌面连接 windows+R 计算机名输入ECS服务器的公网ip ...

  5. (二)Redis for 阿里云公网连接

    目录 (一)Redis for Windows正确打开方式 (二)Redis for 阿里云公网连接 (三)Redis for StackExchange.Redis 阿里云目前仅支持内网连接Redi ...

  6. QT写的一个小工具:阿里云MQTT连接参数生成器.

    一.工具介绍. 最近在研究MQTT协议联网的一些问题,现在主流的物联网平台都支持MQTT协议. 在做阿里云平台连接测试的时候,连接参数的生成没有好用的工具, 所以就自己写了一个. 这个工具主要用于阿里 ...

  7. 阿里云oss总是提示SignatureDoesNotMatch错误怎么办

    网上的所有阿里云oss(C#)的例子几乎试遍了,为什么还是提示SignatureDoesNotMatch错误?什么原因?怎么办?下载一个阿里云提供的windows客户端发现,依然提示签名错误. 开始怀 ...

  8. 云计算之路-阿里云上:负载均衡错误修改Cookie造成用户无法登录

    最近陆续有用户反馈在我们网站上登录时遇到登录死循环问题.输入用户名与密码提交后,显示登录成功,但跳转到目标网址后(由于依然处于未登录状态)又跳转回登录页面,再次登录,再次这样...就这样一直循环,怎么 ...

  9. 阿里云ECS连接阿里云Redis问题

    描述 项目之前的服务器使用Windows,Redis使用阿里云的云数据库Redis版,一切正常. 后来了更换了Linux,也配置好了Redis,但连接阿里云的Redis时却怎么也连接不上 原因 ECS ...

随机推荐

  1. Android View 绘制刷新流程分析

    Android中对View的更新有很多种方式,使用时要区分不同的应用场合.1.不使用多线程和双缓冲      这种情况最简单,一般只是希望在View发生改变时对UI进行重绘.你只需显式地调用View对 ...

  2. BZOJ1854:[SCOI2010]连续攻击游戏——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=1854 https://www.luogu.org/problemnew/show/P1640 lxh ...

  3. 洛谷3800:Power收集——题解

    https://www.luogu.org/problemnew/show/P3800 可以把游戏界面理解成一个N行M列的棋盘,有K个格子上有P点,其价值为val(i,j) 初始灵梦可以选择在第一行的 ...

  4. HDOJ(HDU).1045 Fire Net (DFS)

    HDOJ(HDU).1045 Fire Net [从零开始DFS(7)] 点我挑战题目 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架/双重DFS HD ...

  5. 组合框控件 -- CComboBox

    组合框控件 -- CComboBox 组合框其实就是把一个编辑框和一个列表框组合到了一起,分为三种:简易(Simple)组合框.下拉式(Dropdown)组合框和下拉列表式(Drop List)组合框 ...

  6. POJ 1698 最大流

    Alice's Chance Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7327   Accepted: 2992 De ...

  7. Mybatis(1) 创建Mybatis HelloWorld

    简介: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 ...

  8. Installing JDK7 on Ubuntu

    1. # sudo add-apt-repository ppa:webupd8team/java 2.  # sudo apt-get update 3.  # sudo apt-get insta ...

  9. Chrome切换分辨率

    不知道大家是否有遇到在Web开发的时候,老大会让你模拟不同分辨率情况,这时候,可能就有些小小的麻烦,我们可能要不断调整分辨率.是件很崩溃的事情.现在推荐一款Chrome插件.即可实现这个简单的功能. ...

  10. 【Foreign】登山 [DP][数学]

    登山 Time Limit: 10 Sec  Memory Limit: 256 MB Description 恶梦是一个登山爱好者,今天他来到了黄山 俗话说的好,不走回头路.所以在黄山,你只能往前走 ...