1.最常见的,权限问题,.ssh目前权限要为700,authorized_keys权限要600
2.部分操作系统里新创建的用户默认是锁定的,这种情况下认证失败在/var/log/secure中会看到如下错误
Nov 21 11:04:26 host-xxxxx sshd[14011]: User test not allowed because account is locked
Nov 21 11:04:26 host-xxxxx sshd[14011]: input_userauth_request: invalid user test [preauth]
Nov 21 11:04:27 host-xxxxx sshd[14011]: Connection closed by 10.10.10.10 port 64152 [preauth]
Nov 21 11:04:37 host-xxxxx sshd[14013]: User test not allowed because account is locked
Nov 21 11:04:37 host-xxxxx sshd[14013]: input_userauth_request: invalid user test [preauth]
Nov 21 11:04:37 host-xxxxx sshd[14013]: Failed none for invalid user test from 10.10.10.10 port 64170 ssh2
Nov 21 11:04:43 host-xxxxx sshd[14013]: Connection closed by 10.10.10.10 port 64170 [preauth]
从log中可以看到test账户被锁了,此时执行passwd -u test -f即可解锁test账户,再次使用密钥认证即可成功
3.SELINUX的问题,参考https://www.linuxidc.com/Linux/2013-07/87267.htm
后续再发现其他情况会继续补充,也欢迎大家评论补充