CentOS7的虚拟机,本来使用是正常的,但是突然之间反馈说是不能ssh登陆。 ping 对应的ip地址是正常的。
ssh登陆时提示“ssh: connect to host *** port 22: Connection refused”
使用Virtual Machine Manager登陆到对应的虚拟机上,查看ip配置是正常。 但是从虚拟机ssh访问其它的节点也是失败的。
重新启动机器并没有任何效果。检查防火墙配置也没有发生变化。
1)首先使用systemctl status sshd.service检查服务的状态。
结果如下:
sshd.service - OpenSSH server daemonLoaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: activating (auto-restart)(Result:exit-code) since Wed 2017-03-01 14:50:20 CST; 51min ago
Process: 7250 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=255)
CGroup: /system.slice/sshd.service
(余下内容省略)
从上面的信息中可以看到sshd服务是在虚拟机启动过程中没有成功,然后重新启动也失败,导致状态一直处于activating
2) 使用命令ssh -t查看启动的详细信息
运行结果如下
/etc/ssh/sshd_config: line 154: Bad configuration option: StrictHostKeyChecking
/etc/ssh/sshd_config: line 155: Bad configuration option: UserKnownHostsFile
/etc/ssh/sshd_config: terminating, 2 bad configuration options
检查文件/etc/ssh/sshd_config,发现在文件的最后多了如下2行配置
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
将这2行内容删除,然后将虚拟机重新启动一下,ssh服务正常。