1 ,ssh 免密 :意义
- 为了让三台机器成为一个整体。
- 孙:这三个人关系很好,可以不敲门就进屋。
2 ,没有配置 ssh 之前,互相传文件,每次都要输入密码 :
- 在 node01 机器新建一个文件 :aa.txt
touch aa.txt - 在 node02 机器的 /root 目录新建一个目录 :file
mkdir file - 把 node01 中的 aa.txt 发送到 node02 的 /root/file
在 node01 执行以命令:
scp aa.txt root@node02:/root/file
是否继续连接:yes
输入密码:123456
- 成功的标志 :在 node02 机器上得到了 aa.txt 文件
3 ,ssh 免密登录原理 :官方
-
举例子 : node01 想要免密登录 node02 .
-
生成公钥和私钥 .
1,在 node01 机器上生成了一对秘钥 ( 公钥,私钥 ) .
2,公钥是我们 node01 自己用的,我们把私钥发送给 node02 .
3,node02 将 node01 发过来的公钥,加入授权列表 .
4,完成,此时,我们已经完成了配置,node01 就可以免密登录 node02 了. -
免密登录的过程 :
1 ,node01 来登录 node02.
2 ,node02 查看授权列表,找到 node01 的公钥.
3 ,node02 上一级生成一串字符串,用公钥加密.
4 ,node02 将加密后的字符串发送给 node01
5 ,node01 收到 node02 发送过来的乱码
6 ,node01 用自己的私钥加密,将乱码,解码成为字符串。
7 ,node01 将解码得到的字符串发送给 node02.
8 ,node02 收到来自 node01 的解码字符串,发现和自己随机生成的字符串一致.
9 ,免密登录成功.
4 ,ssh 免密登录原理 :孙
- 生成公钥和私钥,公钥和私钥就像两个密码本,这里面是加密规则 。
1,在 node01 上生成公钥和私钥,公钥自己留着,私钥发送给 node02.
2,将公钥发送给 node02.
3,node02 机器,将 node01 公钥加入授权列表。
- 免密登录的过程 :
1,node01 想要免密登录 node02 。
2,node02 为了确认 node01 是否可以免密登录我,需要验证。
3,node02 随机随机生成一个字符串,例如 “天王盖地虎”,经过 node01 公钥的加密,变成了乱码,例如这样:“¥%#@&#@”。
4,node02 将 “¥%#@&#@” 发送给 node01 。
5,node01 收到了这个乱码,微微一笑,明白了,马上用私钥解密,得到这个乱码所对应的字符串 “天王盖地虎”.
6,node01 将"天王盖地虎"发送给 node02 。
7,node02 得到了 node01 发过来的 “天王盖地虎” ,比对一下,一字不差,嗯,是自己人,可以免密登录,来吧。
4 ,ssh 免密登录操作 :
- 目的 : node01,node02,node03 三台机器,两两免密。
- 在 node01 机器上生成私钥和公钥 :
ssh-keygen -t rsa
然后一直按回车
- 将公钥拷贝到 node01,node02,node03 :
在 node01 机器上操作
ssh-copy-id node01
ssh-copy-id node02
ssh-copy-id node03
- 成功的标志 : node01 已经可以免密访问 node01,node02,node03 了
1 ,在 node01 上,用 root 用户登录 node01 : ssh root@node01
退出免密登录:exit
2 ,在 node01 上,用 root 用户登录 node01 : ssh root@node02
退出免密登录:exit
3 ,在 node01 上,用 root 用户登录 node01 : ssh root@node03
退出免密登录:exit
操作如图 :
- 在 node02 机器上生成私钥和公钥 :
ssh-keygen -t rsa
遇到提示,就一路的回车
- 将公钥拷贝到 node01,node02,node03 :
在 node02 机器上操作
ssh-copy-id node01
ssh-copy-id node02
ssh-copy-id node03