有关sshd无法发起新连接的解决方法

发布时间:2020-08-08编辑:脚本学堂
服务器无法远程,可以ping通,但sshd无法发起新的连接,遇到这样的问题,应该如何解决呢?请看本文给出的方法吧。

有一台linux服务器,可以ping通,telnet 22端口不能返回ssh相关信息。
问题症状:之前是可以sshd连接上的,可以正常操作,但现在无法重新连接。
 
在本地电脑上检查,可以clone连接,但重新打开SecureCRT,却无法正常连接。没有错误提示,处于连接中的状态,类似于网络超时的情况。
 
怀疑是负载问题,但top了一下,结果却显示很正常。
 
怀疑是sshd服务问题,但检查sshd端口监听情况,也没有异常。
 
怀疑有人在做特别操作,但ps -ef|grep bash -C 4也没有发现可疑的指令。
 
ping了一下,没有发现丢包的情况,可以判断不是网络的问题。乖乖,要疯了。
 
最后检查messages日志,有类似这样的记录:

May 28 16:47:34 l289 sshd[9746]: fatal: Missing privilege separation directory: /var/empty/sshd

于是,检查/var/empty/sshd目录,发现确实不存在。
手工创建此目录,sshd又可以发起新的连接了。

日志还是日志,要养成定期收集与查看linux日志的习惯啊,从中发现问题,找到解决方法,会快很多哦。