tiup cluster check 失败

【 TiDB 使用环境】/测试/ Poc
【 TiDB 版本】7.1
tiup cluster check 失败

[root@localhost ssh]# tiup cluster check mytidb7 --cluster
tiup is checking updates for component cluster …
Starting component cluster: /root/.tiup/components/cluster/v1.14.0/tiup-cluster check mytidb7 --cluster

  • Download necessary tools
    • Downloading check tools for linux/amd64 … Done
  • Collect basic system information
    • Getting system info of 192.168.0.100:22 … Error

Error: executor.ssh.execute_failed: Failed to execute command over SSH for ‘tidb@192.168.0.100:22’ {ssh_stderr: , ssh_stdout: , ssh_command: export LANG
sr/sbin /usr/bin/sudo -H bash -c “test -d /tmp || (mkdir -p /tmp && chown tidb:$(id -g -n tidb) /tmp)”}, cause: ssh: handshake failed: ssh: unable to auublickey], no supported methods remain
Verbose debug logs has been written to /root/.tiup/logs/tiup-cluster-debug-2023-12-11-22-55-41.log.
tiup-cluster-debug-2023-12-11-22-55-41.log (17.7 KB)

ssh 互信都正常?

我是单机测试环境,印象中是改过主机名的。
我是用root安装的,自测root没有问题

但是 我看日志它访问tidb@192.168.0.100 ,不太清楚这里的互信机制是什么?

tidb@192.168.0.100 可以通过 ssh 连接吗

https://docs.pingcap.com/zh/tidb/stable/tiup-cluster-topology-reference#global

可以看看你 global.user 配置的是什么呢

SSH不能通过的问题

免密配置了吗? telnet 22端口看看通不通

这里是默认的tidb ssh tidb@192.168.0.100 是通的,但是要输入密码

加上 --user root -p

1 个赞

strace.txt (62.7 KB)
我做了个strace,明天再研究吧。个人测试环境,也不急,也没发现其他异常

这个报错是 tiup 执行 ssh 命令连到目标机器 22 端口时出现无法访问的问题,得先排查一下网络连通和端口等情况

1 个赞

加上密码选项,手动输入密码

你手工ssh root@192.168.0.22看看能上去吗

使用如下命令试试:tiup cluster check ./topo.yaml --apply --user root -p

应该就是这个问题,tiup cluster 也是通过tidb用户ssh过去的。
所以这个免密没有做的话,就要用-p加个密码试试。

端口是通的

试过了,也不好用

感谢大家,不一一回复了,我找到原因了,就是selinux没有关闭。
下面是重现过程:

在audit log中发现了确切的证据

2 个赞

这个问题点确实不太好排查,不过最开始的报错也提示了是网络链路不通