Linux上SFTP、scp、ftp等传输不可用,但ssh可以登录

前几天服务器突然出问题,开发人员反映平常用的sftp不能用了,工作日上班后经过一般仔细盘查,STFP的各种配置,以及网上Google的一大圈的资料,

检查了/etc/ssh/sshd_config下sftp的配置,如下:

Subsystem sftp /usr/libexec/openssh/sftp-server 

路径正确且sftp-server有操作权限,排除该问题。

后续又怀疑sftp账号问题,经检查以及/var/log/secure 和message中查看,提示已接受账号登入,只是无法显示远程桌面,且该账号ssh登录成功。网上搜寻资料时,

看见有人遇见同样的问题,说他的scp也无法使用,检测一次,发现我的也不行。怀疑跟他遇上了同样的问题,但他没给出解决方案,遂又开始各种查资料。

实在没办法,开启了sftp的debug模式,准备从茫茫字海中发现点什么,然而也是徒劳。日志中显示正常,无明显错误。

后续又检查了selinux是否开启,以及~./.bashrc 中是否有字段溢出,同时也做了相应的操作,然而!还是不行,这时候已经过去了2/3一天了。

放弃找寻问题根源,先让开发可以上传东西吧。于是使用vsftp搭建ftp服务器,测试服务器成功搭建,然后!出问题的那两台服务器还是远程目录文件无法显示!

这时候,我已经意识到,不是服务器这个sshd服务以及sftp或ftp服务的问题,可能是网卡或者网络方面引起传输无法使用。

于是开启整个架构的网络盘查,检查服务器延迟,掉包等,检查监控数据。发现在出问题的时间点,出问题的两台web服务器突然有个流量暴增,装上iftop 检查数据流向,发现web在与redis服务器进行大量的数据通信!每秒30M+!具体到通信端口,是redis那几个主要的端口在进行流量传输,于是重启多实例,好了,流量正常,sftp可以使用了。


总结:在开始盘查之初,我万万没想到会是网络问题。大胆怀疑,大胆假设,去验证自己的想法才是。



你可能感兴趣的:(运维)