KingbaseES集群的sys_securecmdd工具讲解


一、sys_securecmdd工具

SYS_SECURECMDD 是集群中自带的工具,集群监控、管理集群时通过SYS_SECURECMDD 安全执行命令。SYS_SECURECMDD主要包含以下文件

1、sys_securecmdd,服务端二进制,集群中每个节点都有 sys_securecmdd进程运行,默认监听

      8890端口,接受sys_securecmd的连接并执行指定的命令


2、sys_securecmd,客户端二进制,集群通过sys_securecmd发送指令给服务端并执行


3、sys_HAscmdd.sh,管理sys_securecmdd的脚本,主要负责秘钥协商的初始化

      sys_securecmdd进程高可用管理等


4、sys_HAscmdd.conf,配置文件,sys_HAscmdd.sh 读取此文件


5、securecmdd_config,配置文件,sys_securecmdd 读取此文件,初始化阶段由

      sys_HAscmdd.sh 自动配


6、securecmd_config,配置文件,sys_securecmd读取此文件,初始化阶段由sys_HAscmdd.sh

      自动配置

二、sys_securecmdd 用户认证


使用 openssh 密钥对认证

三、sys_securecmdd 用户认证与 ssh 用户认证

1、sys_securecmdd 用户认证配置

2、ssh用户认证配置

四、脚本sys_HAscmdd.sh 使用方法

注:都需要root权限执行

1、#初始化,主要初始化 sys_securecmdd/sys_securecmd需要的配置文件和秘钥协商

 
      sys_HAscmdd.sh init

    #启动sys_securecmdd进程和进程高可用能力


    # start_method=systemd 将securecmdd.service服务文件拷贝到/etc/systemd/system目录下,

      并启动sys_securecmdd服务


2、# start_method=crontab 在/etc/cron.d/KINGBASECRON中设置sys_securecmdd的定时任务


      sys_HAscmdd.sh start

3、#查看sys_securecmdd 进程状态


      sys_HAscmdd.sh status

4、#关闭sys_securecmdd 进程和进程高可用能力


      sys_HAscmdd.sh stop

5、#卸载sys_securecmdd 的配置文件和服务


       sys_HAscmdd.sh uninstall

五、测试securecmdd连接

1、debug 模式启动 securecmdd服务

[kingbase@rdjc15 bin]$ /home/kingbase/cluster/install/kingbase/bin/sys_securecmdd -D -ddd

2、客户端连接

部分省略。。。。。。

六、sys_securecmdd 认证配置文件

相关的 sys_securecmdd 认证配置文件如图所示

七、集群部署时配置 securecmdd 服务介绍

对于KingbaseES V8R6C5版本在部集群时,需要建立kingbase、root用户在节点间的ssh互信,如

果在生产环境禁用root用户ssh登录,则通过ssh部署会失败,在图形化部署时可以借securecmdd

工具进行节点之间通讯

八、集群修改 securecmdd 工具服务端口

1、在一些生产环境,为了系统安全,不支持ssh互信,或限制root用户使用ssh登录,KingbaseES

     V8R6可以使用securecmdd工具支持主机之间的通讯。securecmdd工具默认使用的是8890服务

      端口,有的生产环境可能需要修改此端口号


2、配置总结

 
      在部署完成集群后,如果修改securecmdd工具端口号,会涉及到集群配置文件repmgr.conf中

      参数的修改,必须重启集群才能生效,所以,对于生产环境,修改需注意,尽量在部署前确定

      号服务端口号

九、集群securecmd连接密码问题

1、在KingbaseES V8R6集群可以使用securecmdd代替sshd实现集群主机节点间的通讯,

      securecmdd通讯认证采用非对称加密方式(公钥和私钥),客户端连接服务器不需要输入密码认

      证身份,如果客户端连接服务器需要密码认证,需要检查securecmdd的配置


2、配置总结


     在配置了 ssh 或 securecmdd 工具后,不要随意修改root及数据库用户宿主目录的权限,用户

     宿主目录权限被修改后,ssh 或 securecmdd 工具的公钥和私钥文件的权限发生变化,将导致

     互信失败

十、关于 root 用户 securecmd 连接 "Permission denied" 错误

1、在KingbaseES V8R6数据库在不支持ssh连接的系统环境,可以通过securecmdd服务建立主机

       之间的通讯,默认securecmdd服务建立用户之间的互信,通过publickey认证建立访问连接。

       在配置securecmdd服务后,默认kingbase和root用户都可以通过publickey建立连接

2、配置总结


      对于securecmdd服务,在建立用户的publickey的认证访问后,经常会出现用户访问需要

      password认证或  'permission denied'  等故障问题。当出现类似问题,重点查看securecmdd相

      关目录和文件的权限及属主,以及kingbase和root用户宿主目录的权限和属主

十一、关于集群 securecmdd 工具 usePAM 配置

1、默认在部署securecmdd工具后,在配置文件securecmdd_config 中配置参数 usePAM=yes,在

      有的系统主机环境,会导致securecmd客户端连接失败


2、配置总结


      对于usePAM=yes的配置,会影响到sshd及securecmdd服务的连接,相关具体资料可以查看网

     上关于PAM认证的介绍。PAM 即插入式验证模块  (Pluggable Authentication Module)

       PAM 模块是按模块类型归类的。任何给定的模块至少要实现四种模块类型功能之一

1、验证模块(auth):用于验证用户或设置,销毁凭证


2、帐户管理模块(account): 将执行与访问、帐户及凭证有效期、密码限制规则等有关的操作


3、会话管理模块(session): 用于初始化和终止会话


4、密码管理模块(password):将执行与密码更改,更新有关的操作

十二、集群 securecmdd 相关进程

1、sys_securecmdd进程

sys_securecmdd: /home/kingbase/cluster/install/kingbase/bin/sys_securecmdd -f /etc/.kes/securecmdd_config

2、sys_securecmdd启动任务

*/1 * * * * root /home/kingbase/cluster/install/kingbase/bin/sys_HAscmdd.sh crond_start >> /home/kingbase/cluster/install/kingbase/log/sys_securecmdd_start.log 2>&1


 


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值