Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
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 daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: activating (auto-restart)(Result:exit-code) since Wed 2017-08-24 14:50:20 CST; 51min ago
Process: 7250 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=255)
Main PID: 7250 (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服务正常。