前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TiDB SSH互信配置案例一例

TiDB SSH互信配置案例一例

作者头像
AsiaYe
发布2021-12-16 14:41:42
2.1K0
发布2021-12-16 14:41:42
举报
文章被收录于专栏:DBA随笔DBA随笔

TiDB SSH配置案例

今天在线上的TiDB的运维过程中,遇到了一个问题:

在使用TiUP工具在某个服务器A上扩容tidb节点的时候,扩容命令提示ssh配置一直报错;报错内容:

Error: executor.ssh.execute_failed: Failed to execute command over SSH for ‘root@10.xxx.xx.128:26387’ {ssh_stderr: , ssh_stdout: , ssh_command: export; PATH=$PATH:/usr/bin:/usr/sbin sudo -H bash -c “test -d /tmp || (mkdir -p /tmp && chown root:$(id -g -n root) /tmp)”}, cause: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain

但是我们手工在管理机器执行ssh远程登录服务器A,则没有报错;

通常情况下,我们会使用下面的命令来查看一个TiDB集群的配置:

tiup cluster check cluster_name --cluster

在使用这个命令查看TiDB集群配置的时候,发现部分节点的状态是Error,正常应该都是Done。

根据官方文档的提示(如下图)排查了很长时间,问题始终没有解决。

于是在asktug上提了一个问答:

https://asktug.com/t/topic/274430

最终得到了结果:

TiDB依赖的SSH秘钥和管理机的SSH秘钥不一致。

我们分别说说这俩秘钥的概念:

1、TiDB依赖的SSH秘钥。

在我们执行tiup cluster list命令列举tiup管理的集群信息之后,输出结果中其实已经有TiDB依赖的SSH秘钥了:

代码语言:javascript
复制
[root@  ~]# tiup cluster list
Starting component `cluster`: /root/.tiup/components/cluster/v1.8.0/tiup-cluster list
Name           User  Version  Path                                                PrivateKey
----           ----  -------  ----                                                ----------
tidb_lock  root  v5.0.0   /root/.tiup/storage/cluster/clusters/tidb_lock  /root/.tiup/storage/cluster/clusters/tidb_lock/ssh/id_rsa

最后一行,最右侧,即为TiDB依赖的SSH秘钥

2、管理机的SSH秘钥

其实也就是我们配置SSH互信的秘钥,通常情况下,都在当前用户目录的~/.ssh/id_rsa和~/.ssh/id_rsa.pub这俩文件。

加入你的用户是root,那么~替换成/root即可。

这俩秘钥在初始化的时候,应该是一样的。但是由于后续在管理机上执行了ssh-keygen命令,重新生成了新的秘钥,覆盖了管理机原来的~/.ssh/id_rsa和~/.ssh/id_rsa.pub文件,导致这二者不一致。最终产生报错。

解决方案:

以TiDB使用的秘钥为准,覆盖用户目录下的~/.ssh/id_rsa和~/.ssh/id_rsa.pub秘钥即可。

这个问题虽然解决了,在这个问题解决的过程中,官方人员给了一个比较详细的TiDB部署时候涉及的账号文档,让我对这个账号又有了进一步的理解:

https://asktug.com/t/topic/95777

里面从以下三个维度对TiDB的账户做了分析:

1、运行 tiup 的账户

2、集群节点上的高权限账户

3、集群服务账户

有兴趣的同学,一定不要错过。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TiDB SSH配置案例
  • 1、运行 tiup 的账户
  • 2、集群节点上的高权限账户
  • 3、集群服务账户
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档