升级openssh之后tidb执行命令失败

【 TiDB 使用环境】测试
【 TiDB 版本】v8.2.0
【复现路径】安装了一个tidb 8.2正常使用。然后升级openssh到9.7,新版本id_rsa用不了了,使用ssh-keygen重新生成了一个id_ed25519密钥,现在tidb无法执行命令。
【遇到的问题:问题现象及影响】
现在执行命令报错,请问tidb这边需要更新什么配置吗。

例如执行tiup cluster destroy tidb-aaa报以下错误:

Error: failed to stop tidb: failed to stop: 2001:250:4000:2000::53 tidb-4000.service, please check the instance’s log(/home/aaa/tidb-deploy/tidb-4000/log) for more detail.: executor.ssh.execute_failed: Failed to execute command over SSH for ‘aaa@2001:250:4000:2000::53:22’ {ssh_stderr: , ssh_stdout: , ssh_command: export LANG=C; PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin; /usr/bin/sudo -H bash -c “systemctl daemon-reload && systemctl stop tidb-4000.service”}, cause: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain

Verbose debug logs has been written to /home/aaa/.tiup/logs/tiup-cluster-debug-2024-08-19-15-03-40.log.

现在中控机手工可以ssh过去吗?可以的话,执行命令不要用密钥,先-p指定密码试试

检查下防火墙呢

openssh可是个大活,谨慎啊,不测试一下,敢这么玩耍

中控机就是本机,可以直接ssh。tiup cluster destroy tidb-aaa这个命令好像不能加-p。
现在问题好像是系统还是会去找/home/aaa/.tiup/storage/cluster/clusters/tidb-aaa/ssh/id_rsa这个文件,这个文件能改成新生成的id_ed25519吗


前段时间我们也升级了openssh,先升级的openssl,再升级的openssh,我都升级到了当时的最新版本,没有遇到你这问题啊……

新版的不再只是rsa算法

支持
支持

是的,新版openssh不再支持rsa了,tidb这边支持ed25519吗

其他数据库因为升级过ssh导致问题,这个问题确实要小心

参考这篇文章:专栏 - 解决tiup‘ssh: unable to authenticate’报错 | TiDB 社区