1.免密登录的原理
每台主机authorized_keys文件,该文件就是身份验证的钥匙,该文件里如果有另一台主机的公钥(id_rsa.pub),那么另一台主机就可以无密码登录该主机。
2.实现
2.1首先配置每个节点的hosts文件
linux 中 hosts 的目录是/etc/hosts
vim /etc/hosts
ip server1.test.com server1
ip server2.test.com server2
ip server3.test.com server3
2.2 在server1生成秘钥
ssh-keygen -t rsa
解释 ssh是远程连接的意思 Keygen就是注册机 -t rsa 就是指定算法为rsa
输入以上命令后,会让你确认生成文件的名字,我们一直点回车就会生成默认的名字
2.3了解文件
此时在 家目录的.ssh目录下,会生成两个文件 分别为
id_rsa (私钥) 和 id_rsa.pub (公钥),
原理: 把公钥发送到你要免密登录的机器上,并把他写入authorized_keys文件中,你就可以免密登录那台机器了。
2.4 实验是否可行
本身节点的 .ssh 文件下是没有 anthorized_keys文件的,所以我们可以创建也可以将id_rsa.pub(公钥)进行拷贝
拷贝id_rsa.pub文件并命名为anthorized_keys
cp id_rsa anthorized_keys
然后将该公钥再跨节点拷贝到你要免密登录的机器上
scp anthorized_keys acm@server2:/home/acm/.ssh/
acm为用户名
然后我们
ssh server2
发现可以免密登录了
3.补充
原理就是这样,同上在其他机器上同样操作,注意这里的 本机节点登录本机节点也是要密码的,我们也要把本身节点的公钥拷贝到anthorized_keys文件中。
可以用cat id_rsa.pub >> anthorized_keys, 因为上面部分我是cp的所以第一台机器就没有进行此操作。