TiUp部署时提示Failed to create ~/.ssh directory for user 'tidb'

目前,前期准备工作完成了各个节点互信。
由于22端口不能使用,改为了10086端口,在tidb用户的.ssh目录下新增config配置,ssh命令能够默认使用10086端口。
tidb 配置了sudo权限

执行tiup dm deploy tidb-dqs v2.0.1 ./topology.yaml --user tidb命令后产生如下错误

.ssh目录下各个文件权限为
image

执行操作的机器为 172.26.200.120,即报错的节点
image

你命令行指定的 --user=tidb 意思是用 tidb 这个用户来执行远程命令和拷贝包
但是第二个截图里你用的是 devops 用户,我猜你搞错了,改成 --user devops 试试

以你的环境为例:devops 用户是用来首次部署的,tidb 是今后用来管理集群的。

第二个截图里面已经切换tidb用户了哦,登录默认是devops用户的,所有操作都是用tidb用户

image
各个节点ssh 免密登录都没问题

在机器 test-sh1-1-0003 上
用 tidb 用户,执行 ssh 172.26.200.120
如果可以登录,再执行 sudo -ll
发出来结果看看?

test-sh1-1-0003 ip:172.26.200.120
使用本机登录本机后执行sudo -ll如下所示

我看你是输入密码认证登录的,但是原帖里你没有加 --password 参数,所以登录不了吧

这是本机登录本机需要密码的吧,目前有三台节点,互相登录没问题的
这张图应该比较清楚了:grin:

不管中控机和目标机是不是同一个机器,tiup 都是用 ssh 协议来执行操作的,可以配置密钥对认证 免密码,也可以通过密码认证。

你从中控机 ssh 登录 172.26.200.120 需要密码,但是你没有告诉 tiup ,所以它才报错说 unable to authenticate

1 个赞

那我这边尝试把本机的rsa秘钥在通过ssh-copy-id传输一下

原来本机调用本机也需要加入互信列表,学到了,谢谢大佬解答,这个点我记录一下

感谢反馈,如果有新的问题,麻烦创建新的帖子。

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