宝塔面板FTP账户无法连接登录详细解决方法

前提准备:

正常情况下,我们都能顺利连接到宝塔面板创建的FTP空间,但是我这次就遇到了几个问题,所以这次记录下来,以后再次遇到同样的问题,就不要耗费时间去查资料了。日积月累,我的建站知识越来越丰富。

宝塔面板FTP启动失败问题

我的宝塔面板FTP插件启动标识一直是红色标识(停止状态),卸载插件重装也是一样的。所以去网上查找解决方法。

我查看了宝塔面板安装日志:日志太长,可以查看 宝塔面板安装ftp插件报错提示

日志关键报错信息:pureftpd.sh: line 75: StartUp: command not found

解决方法:
在FinalShell客户端执行以下命令

[root@iZuf6bm7y86rsciyk4lvriZ ~]# pkill -9 pure-ftpd[root@iZuf6bm7y86rsciyk4lvriZ ~]# service pure-ftpd start
Starting Pure-FTPd... /etc/init.d/pure-ftpd: /www/server/pure-ftpd/sbin/pure-config.pl: /usr/bin/perl: bad interpreter: No such file or directory
 failed[root@iZuf6bm7y86rsciyk4lvriZ ~]# yum install -y perl perl-devel
已加载插件:fastestmirror, product-id, search-disabled-repos, subscription-manager

# 执行 yum install -y perl perl-devel 之后等待一会
# perl安装成功之后...[root@iZuf6bm7y86rsciyk4lvriZ ~]# service pure-ftpd start
Starting Pure-FTPd... Running: /www/server/pure-ftpd/sbin/pure-ftpd --daemonize -A -c50 -B -C10 -D -E -fftp -H -I15 -lpuredb:/www/server/pure-ftpd/etc/pureftpd.pdb -lunix -L20000:8 -m4 -p39000:40000 -s -U133:022 -u100 -g/var/run/pure-ftpd.pid -k99 -Z -Y1
 done[root@iZuf6bm7y86rsciyk4lvriZ ~]# netstat -tap | grep ftp
tcp        0      0 0.0.0.0:ftp             0.0.0.0:*               LISTEN      552/pure-ftpd (SERV
tcp6       0      0 [::]:ftp                [::]:*                  LISTEN      552/pure-ftpd (SERV

其中在ssh终端可以看出错误提示:

/usr/bin/perl: bad interpreter: No such file or directory  failed

然后查找资料:发现只需要安装perl
yum install -y perl perl-devel

安装完成之后,就去启动ftp服务。

service pure-ftpd start

用netstat查看ftp网络连接状况。

netstat -tap | grep ftp

这样的再去宝塔面板后台查看ftp服务是否能启动,结果发现能启动起来。这样就解决了这个问题。【宝塔面板FTp空间服务启动成功】

但是虽然ftp服务启动起来了,但是FileZilla客户无法连接ftp服务。没事下文一一来解答我遇到的问题。请认真仔细看下去。

本问题参考资料:

错误提示:无法连接到服务器

错误: 20 秒后无活动,连接超时
错误: 无法连接到服务器

遇到这个问题的时候,折腾了我很久。后面解决之后,发现问题很简单,只是有些东西误导了我的判断。

我首先怀疑的是宝塔面板的问题。然后去网上搜索答案。

找到了宝塔面板的官方论坛的一个回答:FTP连接不上的解决方法

这个回答告诉我以下解决方案:

1.注意内网IP和外网IP
2.检查ftp服务是否启动 (面板首页即可看到)
3.检查防火墙20端口 ftp 21端口及被动端口39000 - 40000是否放行 (如是腾讯云/阿里云等还需检查安全组)
4.是否主动/被动模式都不能连接
5.新建一个用户看是否能连接
6.修改ftp配置文件 将ForcePassiveIP前面的#去掉 将192.168.0.1替换成你服务器的外网IP


9.关闭ftp客户端的TLS尝试链接

其中第7,8点没有去尝试,就没有放入本文。

现在我们来谈谈我试过的方法。
首先我用的ftp客户端是:FileZilla客户端。
第一点:我填入FileZilla客户的站点信息为外网ip地址。所以这点没有解决我的问题。
第二点:去宝塔面板观察ftp服务是否开启,很明显,我开启了ftp服务。结果还是没有解决我的问题。


第三点:检查防火墙20端口 ftp 21端口及被动端口39000 - 40000是否放行 (如是腾讯云/阿里云等还需检查安全组)


看见没,三个关键端口,我都开放了哦。然后我就继续去试其它几点方案。但是有些事情没有想到啊,最坑的地方在这里。下文会讲这个。
第4,5,6,9点方法我都试过了,还是不能解决我的问题。还是报错:错误: 无法连接到服务器。

此时此刻,我还没有放弃去寻找方法。因为我不止有这一台阿里云服务器,我有十几台阿里云云服务器(都是在阿里云官网购买的,一次性买了三年),我现在就在想啊,我这台ftp空间连不上的云服务器,可能是前几天我服务器因为中了木马病毒导致出现了问题,因为木马病毒修改了Linux部分系统命令的权限以及chattr特殊属性。所以脑海里怀疑是这个原因。我就去测试我其它几台阿里云服务器,结果无一例外,它们创建的ftp空间全部可以连接成功,并可以访问。

我现在有点小郁闷,因为我自认为我这台出问题的服务器的ftp配置和其它几台云服务器是一模一样的,为什么这台云服务器不能成功连接?

好了,我现在还没有放弃,我现在去尝试看下这几台云服务器的防火墙情况。

先看看正常能成功连接ftp空间的这台云服务器(11号)的防火墙情况:

firewall-cmd –list-ports

阿里云服务器(10)不能连接ftp空间的这台服务器的防火墙情况

怎么回事?怎么回事?怎么回事?我都吃惊了好几遍,为啥宝塔面板放行了端口,而防火墙没有放行端口呢?难道是说宝塔面板的放行端口是”花拳绣腿”没啥用的。先不想这么多了。
赶紧在FinalShell客户端命令行里面写命令去放行防火墙的端口。

有时候你不清楚宝塔面板的端口是否放行了,你可以用网络端口扫描工具来检测,这个更能直观的清楚哪个端口究竟有没有开放。

端口扫描工具:http://coolaf.com/tool/port

需要放行的FTP端口:21 20 39000-40000

# 防火墙放行FTP需要用到的端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=20/tcp --permanent
firewall-cmd --zone=public --add-port=39000-40000/tcp --permanent

# 重新载入防火墙规则---重新加载后才能生效
firewall-cmd --reload

# 查看防火墙放行端口列表
firewall-cmd --list-ports

上面三处端口防火墙开放了之后,就可以用端口扫描工具扫描下。我的已经扫描过了,端口全部放行了。然后我立马去尝试连接这台云服务器的ftp空间。结果成功了!!!

下面的读取目录列表失败是由于20端口没有放开导致的,所以这一步,我们一次性把20,21,39000-40000端口都放开。要不然会连接出错的。

FTP空间连接成功示意图:

错误提示:读取目录列表失败

状态: 明文 FTP 不安全。请切换到 FTP over TLS。
状态: 已登录
状态: 读取目录列表…
状态: 服务器发回了不可路由的地址。使用服务器地址代替。
命令: MLSD
错误: 20 秒后无活动,连接超时
错误: 读取目录列表失败

这个问题是防火墙没有放开20端口导致的。你去命令行放行下20端口就好了。

题外话:

防火墙命令如果没有找到,可以根据你的Linux系统版本来选择命令安装。
我的是CentOS系统,所以选择命令:yum install firewalld

命令查询网站:https://command-not-found.com/firewall-cmd

Debian
apt-get install firewalld
 Ubuntu
apt-get install firewalld
 Arch Linux
pacman -S firewalld
 Kali Linux
apt-get install firewalld
 CentOS
yum install firewalld
 Fedora
dnf install firewalld
 Raspbian
apt-get install firewalld

参考资料

原文更精彩:https://www.yundashi168.com/276.html

(0)

相关推荐

  • 宝塔面板修改phpmyadmin端口及公共访问权限

    原创 老魏 魏艾斯笔记 1周前 宝塔面板 phpmyadmin管理有几个地方要注意,宝塔面板phpmyadmin启用公共访问权限和宝塔面板phpmyadmin端口都是重要选项,关系到网站安全和服务器安 ...

  • 宝塔面板怎么样?宝塔面板优惠券大礼包领取

    宝塔面板怎么样?宝塔面板优惠券大礼包领取 宝塔(BT.CN)是一家专门从事服务器相关软件及服务研发的公司,团队成员具有相当丰富的服务器运维经验,能为您提供非常专业的服务器领域相关的解决方案,所有付费服 ...

  • UCloud优刻得设置安全组防火墙规则 范例宝塔端口设置

    目前我们在选择国内大部分主流云服务器商家的时候,商家是要求强制设置安全组规则.这样也是确保服务器的安全考虑,比如我们在这里有接触到UCloud优刻得商家,默认规则防火墙中是没有放行特殊WEB环境的规则 ...

  • 零基础小白如何通过wordpress做一个自己的博客站?

    目前已转行seo,之前是计算机网络技术讲师.转行之后,搭建了几个网站,有公司的,也有自己的,目前的博客站名为逸佳君博客.百度搜索一下「逸佳君博客」,有很多的seo教程和赚钱实操教程! 下面的教程,是在 ...

  • 关闭宝塔面板强制要求安装一键套件以及解决文件保存失败问题

    宝塔面板的安装必须要保证服务器目前非常干净,就是说:系统刚装好.服务器刚买好这种什么软件都还没安装的情况下,直接安装宝塔面板,他就可以帮你把一切包干,不用你再进行安装什么反向代理.数据库什么的了. 但 ...

  • (1条消息) Rabbitmq关于guest用户登录失败解决方法

    解决办法: Step1:执行如下命令 命令1:rabbitmqctl set_user_tags guest administrator 命令2:rabbitmqctl set_permissions ...

  • windows10图片查看器无法打开图片的详细解决方法

    有的朋友在使用windows10图片查看器查看图片的时候,提示无法显示此图片,因为内存不足的问题,那么windows10图片查看器无法打开图片怎么解决呢.今天小编就整合了windows10图片查看器无 ...

  • VMware虚拟机连接USB的解决方法

    虚拟机VMware可以安装各种操作系统,部分用户需要在虚拟机中使用U盘,但是在主机插入U盘后,虚拟机中没有任何反应,那么VMware要怎么连接U盘呢?下面小编就教大家设置VMware虚拟机读取U盘的方 ...

  • 员工执行力太差的5大原因及详细解决方法!

    力差的5大原因 1.员工不知道干什么 公司没有明确的能够落实的战略规划,没有明确的营销策略,员工得不到明确的指令:还有一些公司政策经常变,策略反复改,再加上信息沟通不畅,使员工们很茫然,只好靠惯性和自 ...

  • 【经验学习】一企业钕铁硼电镀锌故障,看他们详细解决方法!

    前言 本公司在对新开发的45UH磁性材料进行滚镀锌后,镀层表面出现很多宏观的小凹坑.粗糙不平,且缺角较为严重,达不到客户的要求.为此,对所有工序进行了排查和分析,排除了故障. 工艺及产品要求 01.产 ...

  • ps提示“脚本错误-50出现一般Photoshop错误的详细解决方法

    ps处理图片时弹出"脚本错误(-50)一般Photoshop错误,此功能在此版本的中可能不可用"怎么解决?下面详细图文教程安利给大家,欢迎阅读. photoshop2021 for ...

  • 宝塔Linux面板FTP无法连接的解决办法

    如果使用的是阿里云服务器,需要在安全组设置中,对22.21端口放行,并且被动端口(39000 - 40000)也需要处于放行状态 宝塔Linux面板在使用sftp用最高权限连接时一切正常,但是使用在宝 ...

  • 宝塔面板怎么添加FTP

    宝塔面板怎么添加FTP 步骤一:登录到宝塔面板. 步骤二:在左侧菜单找到FTP并打开中,点击添加FTP填写FTP用户名,FTP密码为自动生成,根据需要可自定义修改,选择FTP根目录,我这里选择网站目录 ...