新机器手动增加互信后,扩容报错

流程上服务器是跟其他部门申请拿到的,root密码因为权限管控我们自己拿不到,以前ansible的时候添加互信然后执行部署就可以了

现在tiup就不行了,试过执行ssh tidb@10.38.112.56可以正常连接,但是执行扩容就报错,卡在EvnInit,怎么才能跳过初始化呢,或者可以手动改某个文件吗

[tidb@52-136 tiup-config]$ tiup cluster scale-out test-cluster scale-out.20201203-2.yaml --user=tidb
Starting component `cluster`:  scale-out test-cluster scale-out.20201203-2.yaml --user=tidb
Please confirm your topology:
Cluster type:    tidb
Cluster name:    test-cluster
Cluster version: v4.0.8
Type  Host          Ports        OS/Arch       Directories
----  ----          -----        -------       -----------
tikv  10.38.112.56  20160/20180  linux/x86_64  /home/tidb/deploy/tikv-20160,data
Attention:
    1. If the topology is not what you expected, check your yaml file.
    2. Please confirm there is no port/directory conflicts in same host.
Do you want to continue? [y/N]:  y
+ [ Serial ] - SSHKeySet: privateKey=/home/tidb/.tiup/storage/cluster/clusters/test-cluster/ssh/id_rsa, publicKey=/home/tidb/.tiup/storage/cluster/clusters/test-cluster/ssh/id_rsa.pub


  - Download tikv:v4.0.8 (linux/amd64) ... Done
+ [ Serial ] - RootSSH: user=tidb, host=10.38.112.56, port=22, key=/home/tidb/.ssh/id_rsa
+ [ Serial ] - EnvInit: user=tidb, host=10.38.112.56

Error: Failed to initialize TiDB environment on remote host '10.38.112.56' (task.env_init.failed)
  caused by: Failed to create '~/.ssh' directory for user 'tidb'
    caused by: Failed to execute command over SSH for 'tidb@10.38.112.56:22'
      caused by: Process exited with status 1

先排查下
看下 tidb 是否有 sudo 权限

加上sudo权限以后正常了,这么看就需要两步
1、配置互信密钥
2、添加sudo权限

:+1:, 免密 sudo yes

正好浏览了到这个帖子,借楼主的帖子反馈一下。他用 tidb 这个账户来 SSH 登录目标节点并在目标节点上操作部署的步骤,目标机器上 应该已经存在 ~tidb/.ssh 目录了,为啥这个报错信息是无法创建 tidb 用户的 .ssh 目录呢?

如果真的是 sudo 权限引起的,那应该报一下 sudo 权限不够,或者没有免密执行 sudo 的权限吧

如果 tiup 做些 sudo 规则的检查,会很好 减少很多困惑

比如命令行下我是这么判断的 sudo -ll 找带有 Options: !authenticate 属性,RunAsUsers: ALL 或者 RunAsUsers: root ,并且 Commands 包含 ALL 的 entry

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。