本集群中拥有四个节点,分别是centos01、 centos02、centos03、centos04。接下来以其中两个节点授权为例,后续可重复该过程以此达到四个节点全部授权的目的。
1、修改主机名称以及 IP 映射
//修改主机名称
sudo vim /etc/hostname
//修改主机映射命令:
sudo vim /etc/hosts
前面写IP地址,后面写主机名称。(使用 sudo 命令,防止权限不足)
2、生成秘钥
若节点之前未进行过任何ssh操作,则需要进行一次ssh操作,确保生成相关文件,以centos01节点为例。
ssh centos01
然后,进入 .ssh 文件夹内
cd /root/.ssh
执行命令,生成公钥。(执行命令之后需要多次回车,直到生成完毕)
ssh-keygen -t rsa
生成结束后,使用 ls 命令查看是否生成了 id_rsa、id_rsa.pub两个文件。
3、把公钥复制到需要控制登录的主机上
将centos03 的 id_rsa.pub 文件(公钥)复制到需要控制的主机(centos02)的.ssh文件夹内,并重命名为 authorized_keys_from_centos03 ,从而,方便与其他主机的公钥区分,并且防止覆盖自身的文件。(执行命令后遇到提示信息,回车,然后输入被控制主机的 root 用户的密码)
scp id_rsa.pub root@centos02:/root/.ssh/authorized_keys_from_centos03
4、在被控制的主机上合并公钥
进入被控制主机的 .ssh文件夹内(如果该节点没有进行过 ssh 操作,同上),将centos03 发过来的authorized_keys_from_centos03 文件与自身的 authorized_keys 文件的内容进行合并。(因为最后的目的是所有节点相互授权,所以,使用该方法将所有公钥内容合并)
cat authorized_keys_from_centos03 >> authorized_keys
5、验证是否成功
最后,回到控制的主机(centos03)验证是否可以免密登录,如果无需输入密码即可登录,则证明成功。
ssh centos02
//或者
ssh root@centos02