背景:复制了一个虚拟机,将root密码重置为123456后,使用xshell通过ssh登录竟然失败,检查了很多次,确定root账号密码正确,以下是记录的排查过程。
1、查看ssh登录日志
Ubuntu:/var/log/auth.log
Centos:/var/log/secure
tail -10 /var/log/secure
2、百度搜索日志发现问题
该问题通常是由于SSH远程登录配置文件(/etc/ssh/sshd_config)中启用了用户登录控制参数,对可登录用户进行限制所致,用户登录控制参数说明如下。
-
AllowUsers:允许登录的用户白名单,只有该参数标注的用户可以登录。
-
DenyUsers:拒绝登录的用户黑名单,该参数标注的用户都拒绝登录。
-
AllowGroups:允许登录的用户组白名单,只有该参数标注的用户组可以登录。
-
DenyGroups:拒绝登录的用户组黑名单,该参数标注的用户组都拒绝登录。
拒绝策略优先级高于允许策略,具体说明如下。
-
如果AllowUsers和DenyUsers参数包含了同一个用户,因拒绝策略优先,所以该用户无法登录。
-
如果AllowUsers中的用户在DenyGroups用户组中,因拒绝策略优先,所以该用户无法登录。
3、查看ssh配置文件(/etc/ssh/sshd_config)
发现设置有白名单,只允许192.168.120.1使用root用户登录。
4、修改白名单或添加注释解除登录限制
5、重启ssh服务,使配置文件生效。
systemctl restart sshd.service
6、使用xshell成功登录。