linux 虚拟机之间实现ssh免密_管程序猿的博客-爱代码爱编程
Linux 虚拟机之间实现SSH免密
机器名称 | IP | 角色 | 权限 |
---|---|---|---|
Mysql_Master1 | 172.16.94.5 | 数据库 Master | 可读写、主库 |
Mysql_Slave1 | 172.16.94.6 | 数据库 Slave | 只读、从库 |
Mysql_Slave2 | 172.16.94.10 | 数据库 Slave | 只读、从库 |
Mysql_MHA | 172.16.94.13 | MHA Manager | 高可用监控 |
四台机器 互通
在四台服务器上分别执行下面命令,生成公钥和私钥(注意:连续按换行回车采用默认值)
ssh-keygen -t rsa
在三台 MySQL 服务器分别执行下面命令,密码输入系统密码,将公钥拷到 MHA Manager 服务器上
ssh-copy-id 172.16.94.13
之后可以在 MHA Manager 服务器上检查下,看看.ssh/authorized_keys 文件是否包含 3 个公钥
cat /root/.ssh/authorized_keys
执行下面命令,将 MHA Manager 的公钥添加到 authorized_keys 文件中(此时应该包含 4 个公钥)
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
从 MHA Manager 服务器执行下面命令,向其他三台 MySQL 服务器分发公钥信息
scp /root/.ssh/authorized_keys root@172.16.94.5:/root/.ssh/authorized_keys
scp /root/.ssh/authorized_keys root@172.16.94.6:/root/.ssh/authorized_keys
scp /root/.ssh/authorized_keys root@172.16.94.10:/root/.ssh/authorized_keys
每台服务器都执行下列操作
#赋予权限
chmod 600 .ssh/authorized_keys
#修改 /etc/hosts 文件
vim /etc/hosts
#添加内容
172.16.94.5 master1
172.16.94.6 slave1
172.16.94.10 slave2
172.16.94.13 mha
每台服务器都修改 /etc/ssh/sshd_config 文件
vim /etc/ssh/sshd_config
#添加内容或修改内容
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
可以 MHA Manager 执行下面命令,检测下与三台 MySQL 是否实现 ssh 互通。
ssh 172.16.94.5
exit
ssh 172.16.94.6
exit
ssh 172.16.94.10
exit
文章参考
https://blog.csdn.net/qq_41619403/article/details/84900768