基本登录失败原因都是缺少配置:
1,首先查看/etc/ssh/sshd_config ,
参数: PasswordAuthentication yes | UsePAM yes 这2个参数配置都是正确的,切无其他限制用户的参数。
2,检查pam组件,rpm -qa | grep nss-pam
返回信息:nss-pam-ldapd-0.7.5-32.el6.x86_64(redhat是需要这个进行ldap的认证,所以必需要安装)下载地址:http://www.rpmfind.net/linux/rpm2html/search.php?query=nss-pam-ldapd(x86-64)
3,检查pam的配置文件 system-auth;/etc/pam.d/system-auth,增加
auth sufficient pam_ldap.so use_first_pass
account [default=bad success=ok user_unknown=ignore] pam_ldap.so
password sufficient pam_ldap.so use_authtok
session optional pam_ldap.so
4,修改 vim /etc/pam.d/password-auth,同样增加缺少上面四个配置
auth sufficient pam_ldap.so use_first_pass
account [default=bad success=ok user_unknown=ignore] pam_ldap.so
password sufficient pam_ldap.so use_authtok
session optional pam_ldap.so
5,在vim /etc/pam.d/sshd添加最后一行,加入这行的目的是ssh首次登录服务器时创建home目录
session required pam_mkhomedir.so
6,重启sshd就可以了
############################################################
结论: 1. auth sufficient pam_sss.so use_first_pas 是操作系统的用户这一层的认证,所以操作系统用户xiao用户可以ssh登陆,
2. 而缺少auth sufficient pam_ldap.so use_first_pas ,也就缺少了ldap层的用户认证。jiang(ldap用户)也就未进行ldap认证,可以理解为输入的密码没有发送到ldap服务端,操作系统接受不到来自ldap服务端有关这个用户的认证信息,所以认证不通过。
3. 而root具有超级权限,所以可以不用认证,从而直接切换到任意的用户。
4.redhat7 版本,以及redhat 6.6版本,当使用authconfig-tui的时候,是可以将以上的信息自动写入到对应的配置文件的。