一、免密登陆原理流程图
二、实现操作----在两台机器上分别生成公钥以及私钥
前提是需要已经安装了ssh。
1、在机器1上生成密钥,机器1:192.168.134.101:
执行一下命令生成公钥私钥
ssh-keygen -t rsa
一路回车,如图
最终会在/root/.ssh/路径下生成两个文件,其中.ssh文件夹是不可见的,可以在/root目录执行 ll -la命令,然后可见.ssh文件夹,如图:
进入.ssh文件夹后有如图两个文件,id_rsa(私钥),id_rsa.pub(公钥):
![](https://i-blog.csdnimg.cn/blog_migrate/bfd18cc6cc159e57103a4c0c30895080.png)
2、在机器2上生成密钥,机器2:192.168.134.102:
同机器1操作。
三、实现机器1和机器2免密登陆
1、机器1相关操作:
将机器1的公钥复制到自己当前.ssh目录下,并命名为authorized_keys
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
再将机器1的公钥复制到对应机器2的.ssh目录下:
cat ~/.ssh/id_rsa.pub | ssh root@192.168.134.102 "cat - >> ~/.ssh/authorized_keys"
此时机器1的.ssh目录如图:
其中known_hosts文件中,包含的已经将公钥给了哪台主机相关的信息
2、机器2相关操作:
由于上面的操作,机器2的.ssh路径下多了一个文件authorized_keys,里面是机器1的公钥信息
现在需要将自己的公钥信息加入到自己authorized_keys文件夹中以及机器1的authorized_keys文件夹中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa.pub | ssh root@192.168.134.101 "cat - >> ~/.ssh/authorized_keys"
此时机器1的authorized_keys和机器2的authorized_keys文件夹均含有自己和别人的公钥,两台机器的免密登陆就完成了。
四、多台机器免密登陆
前面已经实现了两台机器的相互免密登陆,要保证能够免密登陆,需要的就是将自己的公钥给另外的机器,同时要保存另外的机器的公钥,多台机器,就要保存多台机器的公钥,也要给多台机器公钥。