KingbaseES V8R6 集群运维案例 -- 脚本部署集群后ssh无法连接
案例说明:
在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连接正常。
KINGBASE研究院
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!