记一次服务器无法通过ssh连接的解决过程
接到用户反馈说服务器虚拟机节点通过ssh连接不上,这算是转做运维之后的遇到的第一个需求,
虽然不算很复杂,但也值的记录一下,整个解决过程如下。
1.首先登陆系统,查看sshd服务是否正常运行,执行命令是 systemctl status sshd,
发现sshd服务处于activating状态,而不是running,所以判断是sshd服务未启动的问题;
2.通过命令journalctl -u sshd 查看sshd服务的状态日志,发现配置文件中有几行参数配置写法不对;
百度一下,KexAlgorithms +diffie-hellman-group1-sha1这种是openssh 7.0版本支持的写法,
而此服务器中openssh版本是6.6,所以不应该带有+加号,且HostKeyAlgorithms配置行是不需要的;
3.修改/etc/ssh/sshd_config配置文件,去掉+加号,并注释HostKeyAlgorithms多余行;
4.通过命令systemctl restart sshd重启sshd服务,并查看服务状态为running,即启动成功;
5.再次通过ssh客户端连接服务器,连接成功;
6.(8.4补充)可以使用 tail -f /var/log/message 命令来实时动态的显示系统日志以更快的定位问题;
补充:
配置文件/etc/ssh/sshd_config修改前后对比如下