案例分析:

在KingbaseES V8R6数据库在不支持ssh连接的系统环境,可以通过securecmdd服务建立主机之间的通讯,默认securecmdd服务建立用户之间的互信,通过publickey认证建立访问连接。在配置securecmdd服务后,默认kingbase和root用户都可以通过publickey建立连接。本案例描述了在建立root用户的连接时,出现‘permission denied’错误的解决方法。

适用版本:

KingbaseES V8R6

一、问题现象

用户在执行sys_backup.sh init时,出现以下故障:

  执行建立主机连接的securecmd的执行语句,出现‘permission denied’错误。

二、问题分析

1、查看securecmdd服务目录和文件

securecmdd服务在部署和配置后,将建立以下的目录和文件:

# 目录属主和权限
[root@node102 ~]# ls -lhd /etc/.kes
drwxr-xr-x. 3 root root 65 Aug 10 2022 /etc/.kes
[root@node102 ~]# ls -lhd /root/.es
drwx------. 2 root root 40 Sep 28 2022 /root/.es
[root@node102 ~]# ls -lhd /home/kingbase/.es
drwx------. 2 kingbase kingbase 40 Sep 28 2022 /home/kingbase/.es
[root@node102 ~]# ls -lhd /root
dr-xr-x---. 10 root root 4.0K Apr 3 10:15 /root
[root@node102 ~]# ls -lhd /home/kingbase
drwx------. 31 kingbase kingbase 4.0K Apr 3 10:15 /home/kingbase # 文件属主和权限
[root@node102 ~]# ls -lh /etc/.kes
total 8.0K
drwxr-xr-x. 2 root root 6 Mar 29 2022 empty
-rwxr-xr-x 1 root root 315 Aug 10 2022 securecmd_config
-rwxr-xr-x 1 root root 603 Aug 10 2022 securecmdd_config
[root@node102 ~]# ls -lh /root/.es
total 8.0K
-rw------- 1 root root 381 Sep 28 2022 accept_hosts
-rw------- 1 root root 1.7K Sep 28 2022 key_file
[root@node102 ~]# ls -lh /home/kingbase/.es
total 8.0K
-rw------- 1 kingbase kingbase 381 Sep 28 2022 accept_hosts
-rw------- 1 kingbase kingbase 1.7K Sep 28 2022 key_file ---如果以上目录和文件的权限出现问题,将在建立securecmd连接时会出现此类故障。

2、分析securecmd连接

如下图所示,分析securecmd连接过程,在建立publickey认证后,读取key_file私钥文件无响应,转为password认证,但输入root用户密码后,报’permission denied‘错误。

3、建立securecmdd服务debug分析

1)以debug方式启动securecmdd服务

[root@node101 ~]# /home/kingbase/cluster/R6HA/kha/kingbase/bin/sys_securecmdd -D -ddd
debug2: load_server_config: filename /etc/.kes/securecmdd_config
debug2: load_server_config: done config len = 560
debug2: parse_server_config_depth: config /etc/.kes/securecmdd_config len 560
debug3: /etc/.kes/securecmdd_config:1 setting Port 8899
debug3: /etc/.kes/securecmdd_config:3 setting HostKey ~/.es/key_file
debug3: /etc/.kes/securecmdd_config:4 setting AuthorizedKeysFile .es/accept_hosts
debug3: /etc/.kes/securecmdd_config:5 setting PidFile /var/run/sys_securecmdd.pid
......
debug2: fd 3 setting O_NONBLOCK
debug1: Bind to port 8899 on 0.0.0.0.
Server listening on 0.0.0.0 port 8899.

2)客户端建立连接

[root@node101 ~]#  /home/kingbase/cluster/R6HA/kha/kingbase/bin/sys_securecmd root@127.0.0.1 'date'
root@127.0.0.1's password:

3)查看连接debug信息

如下图所示,出现/root的属主或权限错误:

4)检查/root的属主

如下图所示,/root的属主竟然是kingbase !!!

三、问题解决

将/root的属主改为root.root后,问题解决。

四、权限错误案例

1、修改/root目录为777(默认550)

[root@node101 bin]# ls -lhd /root
drwxrwxrwx. 26 root root 4.0K Apr 3 11:51 /root

2、故障现象

[kingbase@node101 bin]$ ./sys_securecmd -vv root@127.0.0.1  'date'
OpenSSH_8.6p1, OpenSSL 1.0.2k 26 Jan 2017
debug2: resolve_canonicalize: hostname 127.0.0.1 is address
......
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering public key: /home/kingbase/.ssh/id_rsa RSA SHA256:bDj4e2SR8hakpiI5ADaqqiYuh7KzknAD2hWbPGBRtUg
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
......
debug2: we did not send a packet, disable method
debug1: Next authentication method: password
root@127.0.0.1's password:
debug2: we sent a password packet, wait for reply
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
root@127.0.0.1's password: ---如上所示,出现publickey连接的认证错误。

3、查看securecmd连接debug信息

如下图所示,debug信息出现/root属主或权限错误。

五、总结

对于securecmdd服务,在建立用户的publickey的认证访问后,经常会出现用户访问需要password认证或‘ permission denied’等故障问题。当出现类似问题,重点查看securecmdd相关目录和文件的权限及属主,以及kingbase和root用户宿主目录的权限和属主。

KingbaseES V8R6 数据库运维案例之 -- root用户securecmd连接'Permission denied'错误的更多相关文章

  1. 数据库运维之路——关于tempdb暴增实战案例

    转眼间,2021年的第一个季度已经到了最后一个月了,由于疫情原因,最近一段时间一直在北京,基本上没有出差,每天上班下班的日子感觉时间过的好快,新的一年继续努力奋斗啊. 仔细回想一下,自己踏入到sql ...

  2. MySQL数据库运维课程

    MySQL数据库运维课程 http://www.dataguru.cn/article-4834-1.html?union_site=comm100 课程大纲 第一课:机器选型.系统规划 第二课:安装 ...

  3. 一个兼职DBA的数据库运维经验 小米科技 xx@xiaomi.com 2011

    一个兼职DBA的数据库运维经验 小米科技  xx@xiaomi.com 2011 内存扩容 16G->64G ,调大bp后,凌晨说监控物理内存有余量情况下,开吃swap,内存泄露措施1  定时 ...

  4. 数栈运维实例:Oracle数据库运维场景下,智能运维如何落地生根?

    从马车到汽车是为了提升运输效率,而随着时代的发展,如今我们又希望用自动驾驶把驾驶员从开车这项体力劳动中解放出来,增加运行效率,同时也可减少交通事故发生率,这也是企业对于智能运维的诉求. 从人工运维到自 ...

  5. Linux运维人员共用root帐户权限审计

    Linux运维人员共用root帐户权限审计 2016-11-02 运维部落 一.应用场景 在中小型企业,公司不同运维人员基本都是以root 账户进行服务器的登陆管理,缺少了账户权限审计制度.不出问题还 ...

  6. Oracle数据库运维优化六脉神剑口诀

    我们知道数据库性能是数据库运维中至关重要的一个部分,据传在Oracle数据库的江湖中也有威力无比的六脉神剑技能,下面与大家免费分享Oracle大师们广为流传的六脉神剑口诀,一般人我不告诉他哦:) 少商 ...

  7. MySQL数据库运维的五大指标

    如何评价一个公司数据库运维水平的高低?用什么来进行横向与纵向对比?自动化平台建设的目标是什么?必须有相应的指标体系来指导,此指标体系必须满足以下条件: • 可以用数字来测算和衡量 • 最终指标,而不是 ...

  8. PG数据库运维工具要覆盖哪些能力

    目前的国产数据库中,很多产品都是以PG社区版代码作为研发起点的,还有一些产品是基于openGauss开源项目的.这些数据库的基础特性都和社区版的PG数据库类似,不过也做了一定的拓展.不过从使用与运维上 ...

  9. KingbaseES V8R6集群管理运维案例之---repmgr standby switchover故障

    案例说明: 在KingbaseES V8R6集群备库执行"repmgr standby switchover"时,切换失败,并且在执行过程中,伴随着"repmr stan ...

  10. KingbaseES V8R6集群运维案例之---repmgr standby promote应用案例

    案例说明: 在容灾环境中,跨区域部署的异地备节点不会自主提升为主节点,在主节点发生故障或者人为需要切换时需要手动执行切换操作.若主节点已经失效,希望将异地备机提升为主节点. $bin/repmgr s ...

随机推荐

  1. 【Unity3D】UGUI之Button

    1 Button属性面板 ​ 在 Hierarchy 窗口右键,选择 UI 列表里的 Button 控件,即可创建 Button 控件,选中创建的 Button 控件,按键盘[T]键,可以调整 But ...

  2. 第128篇:浏览器存储(cookie、webStorage、 IndexedDB)

    好家伙,本篇为<JS高级程序设计>第二五章"浏览器存储"学习笔记 我们先来讲个故事 一个"薅羊毛"的故事 (qq.com) 概括一下,就是 有个人通 ...

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

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

  4. gopkg.in/go-playground/validator中比较有用的标签

    -  忽略|  或omitempty 有则验证,空值则不验证dive  潜入到切片.数组.映射中,例如 NumList []int `validate:"len=2,dive,gt=18&q ...

  5. 【Filament】立方体贴图(6张图)

    1 前言 ​ 本文通过一个立方体贴图的例子,讲解三维纹理贴图(子网格贴图)的应用,案例中使用 6 张不同的图片给立方体贴图,图片如下. ​ 读者如果对 Filament 不太熟悉,请回顾以下内容. F ...

  6. 今天接到一个根据excel来更新数据库的需求,用php写个小脚本

    需求大概内容是,excel中有些条目需要删除.有些需要新增,就需要基于这份excel生成删.增的SQL. 要求是这样的:蓝色要删除的,黄色是要新增的,白色和灰色的不用管. 我第一时间就在想:还得识别单 ...

  7. 开源短信项目 platform-sms 发布了新版本 0.5.0

    Github : https://github.com/makemyownlife/platform-sms 短信服务 platform-sms 0.5.0 发布 ,新的版本做了非常多的优化和改进. ...

  8. Java 开发人员调度软件项目 (java基础编程总结项目)+javaBean+测试代码+数组知识+数据结构+继承+多态+封装+自定义异常,异常处理+构造器知识+重载+重写+接口+实现接口+关键字使用(static +equalsIgnoreCase+fianl+instanceof判断类型)+向下转型与向上转型

    /** * * @Description Java 开发人员调度软件项目 (java基础编程总结项目) * +javaBean+测试代码+数组知识+数据结构+继承+多态+封装+自定义异常,异常处理 * ...

  9. Navicat 通过 Http通道 连接远程 Mysql

    https://jingyan.baidu.com/article/3d69c551aa54dff0cf02d7a0.html 注意本机ip填写 localhost

  10. 基于python的指定时段执行实例解析

    一 概念: python中库很多,这里熟悉下time和interval的用法 二 实例解析 切记这里的interval,输出的是目前的时间是一个数组. import time from interva ...