目录
原理:
相关命令:
一,执行命令 cd ~/.ssh/ ,进入目录
二,如果没有公钥和秘钥文件,则执行命令来生成
三,负责公钥给远端端服务器命令
四,实操
场景一,localhost主机要免密登录haha主机,命令执行
场景二: haha服务器免密登录localhost服务器,手工复制
linux系统的免密登录功能通常是通过 SSH 的密钥认证机制来实现的,这样你就可以在不输入密码的情况下登录到远程系统。这不仅方便,而且比使用密码认证更安全。
原理:
1.Client将自己的公钥存放在Server上,追加在文件authorized_keys中。
2.Server端接收到Client的连接请求后,会在authorized_keys中匹配到Client的公钥pubKey,并生成随机数R,用Client的公钥对该随机数进行加密得到pubKey(R),然后将加密后信息发送给Client。
3.Client端通过私钥进行解密得到随机数R,然后对随机数R和本次会话的SessionKey利用MD5生成摘要Digest1,发送给Server端。
4.Server端会也会对R和SessionKey利用同样摘要算法生成Digest2。
5.Server端会最后比较Digest1和Digest2是否相同,完成认证过程。
第四阶段:会话请求阶段:
认证通过后,客户端向服务器端发送会话请求,建立新的连接
第五阶段:交互会话阶段:会话请求通过后,服务器端和客户端进行信息的交互
传输数据的的阶段:数据时要被加密(对称加密方式),对称加密的秘钥就是sessionKey(客户端和服务服务端在秘钥交换阶段互相计算出来的,sessionKey未进行网络传输)
相关命令:
一,执行命令 cd ~/.ssh/ ,进入目录
id_rsa 生成的私钥文件
id_rsa.pub 生成的公钥文件
authorized_keys文件 将要登录该机器,它的id_rsa.pub里面的加密内容,即公钥信息粘贴进去,即可完成互信
二,如果没有公钥和秘钥文件,则执行命令来生成
ssh-keygen -t rsa
三,负责公钥给远端端服务器命令
ssh-copy-id root@目的服务器ip
SSH免密登录有两种操作方式:1.手工复制公钥,2.直接命令执行
四,实操
首先环境准备:一台localhost:172.25.254.128,一台haha:171.25.254.131两知相互配置免密登录
以下是配置 SSH 免密登录的步骤:
场景一,localhost主机要免密登录haha主机,命令执行
至此,localhost成功免密登录haha服务器
场景二: haha服务器免密登录localhost服务器,手工复制
生成公私钥和上面步骤一样
查看haha服务器生成的公钥,并复制到localhost服务器的authorized_keys文件中
至此,双方都可以免密登录
注意点是:
谁想登录谁,谁就要把自己公钥放到对方的/root/.ssh/authorized_keys文件中
如:1想登录2,1就要把自己生成的公钥放入2的/root/.ssh/authorized_keys文件中