Secure Shell 安全shell, 公钥加密,私钥解密
1.关键文件
cd /root/.ssh
ll -a
mare known_hosts
image.png
image.png
2.生成公钥和私钥
ssh-keygen -t rsa //-t type rsa 一种加密算法,常见的加密算法有MD5等等
enter 4次
image.png
image.png
3.将公钥附加给主动连接的机器(将公钥copy到主动连接机器
ssh-copy-id localhost
在输入一次密码就OK了
4.尝试
sbin/stop-all.sh
sbin/start-all.sh
5.分析:(authorized 和 id_rsa.pub长一个样)(理解公钥解密)
image.pngimage.png image.png
5.免密登录原理
1.本机要登录远程机就把本机的公钥copy到远程机器的authorized_keys中
(先把公钥发送给远程机器,再去连接远程机器)
2.三次握手
A. ssh root@192.168.183.129(本机ssh方式试图连接远程机器,同时将自己的用户名+ip地址发送给远程机器。
B. 远程机器在自己的.ssh文件夹下的authorized_keys中查找到对应得公钥(可以有多台机器免密连接该远程机),该远程机器使用对应公钥加密随机字符串-->生成加密字符串,并将该加密字符串返回到本地机
C. 本地机使用私钥解密该加密字符串,生成随机字符串。并将该字符串发送给远程机器
D. 远程机器拿到该随机字符串,与原始的自己生成的随机字符串进行对比,如果解密后的字符串和自己生的是一样的那么免密登录成功,否则要使用密码进行登录
(总结:远程机器生成随机字符串,远程机器比对解密后的字符串)
网友评论