如何实现多台主机之间SSH免密登录
-
每台机器都执行(生成密钥):
ssh-keygen -t ed25519 -N "" -f ~/.ssh/id_ed25519 -
在 mycat (192.168.1.10) 上执行(收集公钥):
for ip in 6 7 8 9 10; do
ssh 192.168.1.$ip "cat ~/.ssh/id_ed25519.pub" >> /tmp/all_keys.txt
done
- 在 mycat 上执行(分发公钥到所有机器):
for ip in 6 7 8 9 10; do
cat /tmp/all_keys.txt | ssh 192.168.1.$ip "cat >> ~/.ssh/authorized_keys"
ssh 192.168.1.$ip "chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
done
- 验证:
在 mycat 上测试
ssh 192.168.1.6或者ssh master1
ssh 192.168.1.8
这样5台机器就能互相免密登录了
在 mycat (192.168.1.10) 上执行,验证能免密登录所有数据库节点
for host in master1 master2 slave1 slave2; do
ssh root@$host "hostname && echo 'SSH OK'"
done
如果任何一台提示输入密码,请重新配置 ssh-copy-id
> 这篇是DBA方向学习实操笔记,记录踩坑、命令与原理。
> 阅读过程有任何疑问,欢迎评论区留言交流。觉得有用可以点推荐👍
---
如果本文对你学习有帮助,欢迎点赞推荐,方便更多人看到。
笔记难免存在疏漏,欢迎大家批评指正,一起交流进步。

浙公网安备 33010602011771号