远程连接ftp服务器问题总结:例如“服务器发回了不可路由的地址,使用服务器地址代替。”

阿里新购买的服务器,需要远程连接上传下载文件,于是使用filezilla客户端连接,发现连接不上。

分析原因:可能是端口没有开放。

阿里云登录,远程连接服务器,输入指令

netstat -nltp|grep 21

查询端口信息,出现如下反馈:

原因是服务器没有搭建ftp服务,所以无法进行ftp连接,遂搭建ftp服务。

搭建教程->:https://help.aliyun.com/knowledge_detail/60152.html

按照教程,一通花里花哨的操作,搭建完毕。

设置安全组,开放端口:

使用zillafile连接,出现如下反馈。

分析原因:

报错:ftp服务器530 Permission denied。

可能是 /etc/vsftpd/ftpusers  和  /etc/vsftpd/user_list  禁掉了root这个用户。

解决方法:

使用root权限修改两个文件,在root前加上#。

修改root
修改root

设置完毕,再次使用filezilla连接,出现如下报错。

报错截图

报错原因:服务器发回了不可路由的地址,使用服务器地址代替。

解决方法:设置filezilla为主动模式。

更改filezilla设置,编辑-设置-连接-ftp-被动模式-回到主动模式。站点设置,文件-站点管理器-你的站点-传输设置-主动。

设置完毕,再次使用filezilla连接,还是不行。出现报错:

报错截图

一番折腾,查看了几遍vsftpd config文件,配置都没问题。

最后发现EMS实例安全组不仅需要配置20/21端口规则,还需要配置另一个端口规则:1024/65535。

官方文档地址:其中只提到了配置20/21端口安全组,实际是不够的,ftp链接的时候还需要用到别的端口。

设置好端口,再次连接,成功!

连接成功截图

端口设置:

端口设置截图

发表评论

电子邮件地址不会被公开。 必填项已用*标注