案例说明:
KingbaseES V8主备流复制集群在通用机环境部署和运维,需要建立主机间的ssh互信,如果ssh互信被破坏,将导致集群故障。但有的生产环境为了系统安全需要,会配置密码管理策略,定期的修改密码,当系统用户密码被修改或过期对ssh互信产生什么影响。 本文复现了以上问题,以下案例在(CentOS、Kylin系统下测试)。 ssh互信失败导致failover切换失败:
适用版本: KingbaseES V8R3/R6
主机环境:
一、系统用户密码修改测试
1、用户未修改密码前的测试(node101)
[root@node101 soft]# ssh node102
Last login: Sat Nov 12 14:10:32 2022 from 192.168.1.101
[root@node101 ~]# su - kingbase
Last login: Sat Nov 12 15:11:49 CST 2022 from 192.168.1.1 on pts/1
[kingbase@node101 ~]$ ssh root@node102
Last login: Sat Nov 12 15:34:16 2022 from 192.168.1.101
---如上所示,node101和node102已经建立ssh互信。
2、修改用户密码(node102)
3、测试ssh互信
[root@node101 soft]# ssh root@node102
Last login: Sat Nov 12 15:39:07 2022 from 192.168.1.102
[root@node101 soft]# su - kingbase
Last login: Wed Nov 9 15:11:16 CST 2022 from 192.168.1.1 on pts/2
[kingbase@node101 ~]$ ssh root@node102
Last login: Sat Nov 12 15:40:05 2022 from 192.168.1.101
---如上所示,对于系统用户修改密码,不影响ssh互信。
二、系统用户密码过期测试
1、模拟用户密码过期
1)查看密码策略
[root@node102 ~]# chage -l root
Last password change : Nov 09, 2022
Password expires : Mar 26, 2050
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 9999
Number of days of warning before password expires : 7
---如上所示,密码有效期最大为9999,过期前7天会发出警告。
2)修改密码最大有效期
[root@node102 ~]# chage -M 1 root
[root@node102 ~]# chage -l root
Last password change : Nov 09, 2022
Password expires : Nov 10, 2022
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 1
Number of days of warning before password expires : 7
---如上所示,密码有效期最大为1天。
3)修改系统时间
[root@node102 ~]# date
Wed Nov 9 15:47:41 CST 2022
[root@node102 ~]# date 111515482022
Tue Nov 15 15:48:00 CST 2022
---修改系统时间,强制用户密码过期。
2、测试ssh连接
如上图所示:在系统用户密码过期后,ssh连接需要配置用户新的密码,ssh互信失败。
3、密码过期后修改用户密码
---如下所示:系统用户密码过期,修改密码后,ssh互信恢复正常。
[root@node102 ~]# echo 'beijing'|passwd --stdin root
Changing password for user root.
passwd: all authentication tokens updated successfully.
[kingbase@node101 ~]$ ssh root@node102
Warning: your password will expire in 1 day
Last login: Tue Nov 15 15:48:09 2022 from 192.168.1.101
ABRT has detected 1 problem(s). For more info run: abrt-cli list --since 1668239136
三、总结
通用机环境下 1、系统用户修改密码,不影响ssh互信。 2、系统用户密码过期后,将破坏ssh互信;过期后再修改密码,ssh互信恢复正常。 3、如果系统配置了密码过期策略,必须在密码过期前,修改系统用户的密码。 4、对于KingbaseES V8R3集群可以升级到V008R003C002B0370,通过es_server建立节点的通讯,不受系统用户密码过期的影响。 5、对于KingbaseES V8R6可以使用securecmdd工具通讯,不受系统用户密码过期的影响。 更多信息,参见https://help.kingbase.com.cn/v8/index.html