正常yum安装后,配置vsftpd.conf
结果ftp命令get put ls 等不能使用,查找结果后有说是什么selinux没关闭、passive模式、防火墙等等问题,都不适用
结果是因为阿里云服务器默认将内网ip暴露给ftp客户端,怎么使用都不对,而且默认是开启IPv6的
按照以下参考即可解决
引用:
首先在默认情况下连接,227 Entering Passive Mode (192,168,*,*,227,175).
显示连接错误,网上说是阿里云安全组的问题,于是我去打开了,可还是不行。我用java实验了服务器的这些要用的端口,的确是打开了,能连上的。
网上查的教程都是教我怎么把ftp客户端的被动模式禁止掉的,我觉得很莫名奇妙,明明服务端出现了问题,不在服务端解决,却去搞客户端。
了解了一下这个错误信息,括号里面6个数字,前4个是ip地址,后两个是端口号(前一个乘于256再加上后一个)。那么错误原因就知道了。是我服务器发送了一个错误的ip,它把阿里云里面的内网IP给了出去,按道理是应该给外网ip的。
在/etc/vsftpd/vsftpd.conf 里加上 pasv_address=(外网ip),根据网上的教程。按道理应该是行了的。可是还是错了,不过错误信息改变了。
227 Entering Passive Mode (0,0,0,0,227,175).
似乎在给外网ip时发生了错误。
后来终于在两个英语网站找到了案。这里只贴出一个http://www.it1352.com/776839.html
我的理解是:vsftpd默认使用ipv6,我在上面加的那个属性地址,在使用IPv4时会发生错误。
解决方法:
listen=NO -> listen=YES
listen_ipv6=YES ->listen_ipv6=NO
这两处要一起改,单独改一处会发生错误,重启不了。
————————————————
版权声明:本文为CSDN博主「想喝水」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ridicuturing/article/details/80308053