KingbaseES V8R6 集群运维案例 -- 脚本部署集群后ssh无法连接

发布时间 2023-09-19 18:46:05作者: KINGBASE研究院

案例说明:
在kylin V10环境下,通过脚本方式部署KingbaseES V8R6集群后,发现ssh无法连接主机,通过分析发现在脚本部署过程中会对系统环境进行优化配置,在修改了/etc/ssh/sshd_config中的usePAM=yes后,导致ssh连接不上。
适用版本:
KingbaseES V8R6

系统环境:
Kylin V10 Server

一、问题现象
1、通过ssh无法连接主机
2、查看sshd服务启动状态,提示‘PAM’认证失败

二、问题分析

1、查看脚本部署日志

---如上图所示,在日志中所示,部署过程中优化系统参数时,会修改sshd_config文件中usePAM参数。

2、查看sshd_config配置

Tips:
当开启UsePAM=yes的时候,先去找验证(PAM)模块,由验证(PAM)模块决定下一步的验证.
(如/etc/pam.d/sshd文件里面的auth include password-auth)即使密码是正确的,如果验证模块自身有问题也无法登录,即PAM检验的优先级高于PasswordAuthentication(密码验证)。

三、问题解决

两种解决方案:

1、在/etc/ssh/sshd_config配置usePAM=no,ssh可以正常登录。
2、在/etc/ssh/sshd_config配置usePAM=yes,并配置/etc/pam.d/sshd ,如下所示。

[root@node101 ~]# cat /etc/pam.d/sshd
#%PAM-1.0
auth       required     pam_sepermit.so
auth       substack     password-auth
auth       include      postlogin
# Used with polkit to reauthorize users in remote sessions
-auth      optional     pam_reauthorize.so prepare
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin
# Used with polkit to reauthorize users in remote sessions
-session   optional     pam_reauthorize.so prepare

重启sshd服务后,ssh连接正常。