案例说明:

Kingbase 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工具通讯,不受系统用户密码过期的影响。

KingbaseES 集群运维系列 -- 验证系统用户修改密码或密码过期对ssh互信的影响的更多相关文章

  1. 阿里巴巴大规模神龙裸金属 Kubernetes 集群运维实践

    作者 | 姚捷(喽哥)阿里云容器平台集群管理高级技术专家 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击即可完成下载. 导读:值得阿里巴巴技术人骄傲的是 2019 ...

  2. SQL Server自动化运维系列——关于邮件通知那点事(.Net开发人员的福利)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 邮件作为一种非常便利的预警实现方式,在及时性和易用性 ...

  3. 为CDH 5.7集群添加Kerberos身份验证及Sentry权限控制

    转载请注明出处:http://www.cnblogs.com/xiaodf/ 4. 为CDH 5集群添加Kerberos身份验证 4.1 安装sentry1.点击“操作”,“添加服务”:2.选择sen ...

  4. 使用Chef管理windows集群 | 运维自动化工具

    但凡服务器上了一定规模(百台以上),普通的ssh登录管理的模式就越来越举步维艰.试想Linux发布了一个高危漏洞的补丁,你要把手下成百上千台机器都更新该补丁,如果没有一种自动化方式,那么至少要耗上大半 ...

  5. saltstack自动化运维系列⑤之saltstack的配置管理详解

    saltstack自动化运维系列⑤之saltstack的配置管理详解 配置管理初始化: a.服务端配置vim /etc/salt/master file_roots: base: - /srv/sal ...

  6. saltstack自动化运维系列②之saltstack的数据系统

    saltstack自动化运维系列②之saltstack的数据系统 grains:搜集minion启动时的系统信息,只有在minion启动时才会搜集,grains更适合做一些静态的属性值的采集,例如设备 ...

  7. KingbaseES集群故障分析案例

    某商业银行生产系统KingbaseES读写分离集群主库出现故障,导致集群主备发生切换.客户要求说明具体的原因. KingbaseES读写分离集群基本信息: KingbaseES集群信息 操作系统 Li ...

  8. SQL Server自动化运维系列——监控跑批Job运行状态(Power Shell)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在上一篇文章中已经分析了SQL SERVER中关于邮 ...

  9. rabbitmq集群运维一点总结

    说明:以下操作都以三节点集群为例,机器名标记为机器A.机器B.机器C,如果为双节点忽略机器C,如果为各多节点则与机器C操作相同 一.rabbitmq集群必要条件 1.1.绑定实体ip,即ip a所能查 ...

  10. saltstack自动化运维系列④之saltstack的命令返回结果mysql数据库写入

    saltstack自动化运维系列④之saltstack的命令返回结果mysql数据库写入salt的返回值写入mysql数据库:可参考:https://docs.saltstack.com/en/lat ...

随机推荐

  1. 玩转C语言:深入理解输入输出函数的奥秘

    ​ 欢迎大家来到贝蒂大讲堂 养成好习惯,先赞后看哦~ 所属专栏:C语言学习 贝蒂的主页:Betty's blog 1. 单字符输出函数 在C语言中有一个函数putchar专门负责输出单个字符,其语法如 ...

  2. Springboot中如何使用日志框架logback和log4j2?

    说明 在这个简短的教程中,我们将探索 Spring Boot 中可用的主要日志记录选项:logback和log4j2 初始设置 使用 starters 时,默认使用 Logback 进行日志记录. 让 ...

  3. 记录级别索引:Hudi 针对大型数据集的超快索引

    介绍 索引是一个关键组件,有助于 Hudi 写入端快速更新和删除,并且它在提高查询执行方面也发挥着关键作用. Hudi提供了多种索引类型,包括全局变化的Bloom索引和Simple索引.利用HBase ...

  4. windows下的批处理bat文件和Linux下的shell文件的含义

    原文:https://www.cnblogs.com/caiguodong/p/10308255.html shell(Linux.Solaris) bat(windows) 含义 # rem 注释行 ...

  5. 服务网关ZUUL过滤器

    过滤器两个功能: 1.其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础: 2.过滤器功能则负责对请求的处理过程进行预干预,是实现请求校验.服务聚合等功能的基础. 有4类 ...

  6. 【Azure 应用服务】Function App中的函数(Functions)删除问题

    问题描述 Function App 中的函数如何删除问题 问题分析 1)在Function App的门户上,点击"Delete"进行删除 2) 进入Function App的高级管 ...

  7. Jmeter Xpath提取器你了解多少?

  8. Postman/Jmeter工具实现接口测试,为什么还要用代码来实现接口自动化测试?

    这种工具包括一些开源框架最大缺点就是不够灵活,如果是单接口的测试还行,但是有的项目接口比较庞大和负责,这种情况下就不大适用工具(工具适用于小型项目,代码适用于中大型项目) 主要有以下几个原因: 1敏捷 ...

  9. Java 多线程------多线程的创建,方式一:继承于Thread类

    1 package com.bytezero.thread; 2 3 /** 4 * 多线程的创建,方式一:继承于Thread类 5 * 1.创建一个继承于Thread类的子类 6 * 2.重写Thr ...

  10. docker 部署prometheus和grafana

    prometheus(普罗米修斯):天生为采集存储监控数据而生的时序数据库.prometheus通过各种Exporter采集到监控数据,然后存储进prometheus中,以供查询展示. grafana ...