今天发现 一台ubuntu服务器中了 work32 病毒,将它删除后,服务器出现ssh不能登录的问题
用本地登录进入系统,查看问题:
cat /var/log/auth.log
发现如下日志:
Dec 3 12:33:19 aiserv sshd[1902]: Server listening on 0.0.0.0 port 22.
Dec 3 12:33:19 aiserv sshd[1902]: Server listening on :: port 22.
Dec 3 12:33:55 aiserv sshd[1905]: refused connect from 192.168.1.202 (192.168.1.202)
Dec 3 12:34:10 aiserv sshd[1907]: refused connect from 192.168.1.202 (192.168.1.202)
Dec 3 12:34:25 aiserv sshd[1909]: refused connect from 192.168.1.202 (192.168.1.202)
Dec 3 12:34:40 aiserv sshd[1910]: refused connect from 192.168.1.202 (192.168.1.202)
Dec 3 12:34:55 aiserv sshd[1912]: refused connect from 192.168.1.202 (192.168.1.202)
Dec 3 12:35:10 aiserv sshd[1913]: refused connect from 192.168.1.202 (192.168.1.202)
Dec 3 12:35:25 aiserv sshd[1914]: refused connect from 192.168.1.202 (192.168.1.202)
sshd: refused connect from,查看防火墙,都没有问题;用如下命令:
telnet 192.168.1.222 22
建立连接,可以连接。 说明网络端口在监听,是认证问题。
通过漫长的排查,后来发现,文件被篡改了。
如果用 cat /var/log/auth.log 命令,在打印信息中查看如果有:
sshd[xxx]: refused connect from 192.168.*.*(这就是问题所在),
该问题通常是由于 Linux 系统通过 /etc/hosts.allow 或 /etc/hosts.deny,启用了 TCP Wrapper 访问控制所致。
用vi 打开 /etc/hosts.deny 文件,果然发现被添加了很多IP,将其全部移除后,就可以远程登录ssh了。