Linux两台机器之间实现ssh免密登录配置

目录

一、需求

二、实现

三、免密原理


一、需求

A免密登录B

二、实现

1、A上执行ssh-keygen -t rsa,三次回车。生成之后会在用户的根目录生成一个 “.ssh”的文件夹

这里写图片描述

2、查看.ssh下面的文件

这里写图片描述

* authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥(初始不存在该文件) *
* id_rsa : 生成的私钥文件 *
* id_rsa.pub : 生成的公钥文件*
* know_hosts : 已知的主机公钥清单*

3、免密处理,通过ssh-copy-id的方式

在A上执行 ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

在B的.ssh文件夹下回自动生成 authorized_keys文件

三、免密原理

ssh免密登陆设置
1.免密码登录原理

这里写图片描述

图解,server A免登录到server B:

1.在A上生成公钥私钥。
2.将公钥拷贝给server B,要重命名成authorized_keys(从英文名就知道含义了)
3.Server A向Server B发送一个连接请求。
4.Server B得到Server A的信息后,在authorized_key中查找,如果有相应的用户名和IP,则随机生成一个字符串,并用Server A的公钥加密,发送给Server A。
5.Server A得到Server B发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给Server B。Server B进行和生成的对比,如果一致,则允许免登录。
6.得到server B发来的消息后,会使用私钥进行解析,然后将机密后的字符串发给server B。
7.接收到机密后的字符串会跟先前生成的字符串进行对比,如果一致就允许免密登陆。
总之:A要免密码登录到B,B首先要拥有A的公钥,然后B要做一次加密验证。对于非对称加密,公钥加密的密文不能公钥解开,只能私钥解开。

 

你可能感兴趣的:(Linux集群管理)