10 月 2024

OpenSSH升级后,密码正确却无法登录,解决记录

升级openssh后,发现ssh无法连接,而设置selinux关闭后,就可以了,但是又不想直接关闭了事,查阅很多资料后发现了问题所在,根本原因在与启动UsePAM yes,并且覆盖了原本的/etc/pam.d/sshd 和/etc/ssh/sshd_config

解决方案:
1、openssh编译过程中添加参数–with-pam

2、创建selinux新的策略,放行sshd直接读shadow


# vi /etc/ssh/ssh_password
module ssh_password 1.0;
 
require {
     type sshd_t;
     type shadow_t;
     class file { read open };
}
 
#============= sshd_t ==============
allow sshd_t shadow_t:file { read open };
 
# cd /etc/ssh/
# checkmodule -M -m -o ssh_password.mod ssh_password
# semodule_package -o ssh_password.pp  -m ssh_password.mod
# ll ssh_password*
-rw-r--r--. 1 root root 187 Mar 20 12:07 ssh_password
-rw-r--r--. 1 root root 926 Mar 20 12:08 ssh_password.mod
-rw-r--r--. 1 root root 942 Mar 20 12:08 ssh_password.pp
# semodule -i ssh_password.pp
# semodule -l |grep ssh
rssh
ssh
ssh_password