众所周知, hadoop 以"分布式系统"这样的名头贯串整个Java生态体系.闲话不多说.熟悉搭建hadoop分布式框架的同学都很清楚ssh的作用,但是对于初学者来书,ssh似乎很神秘!更何况对没有接触过linux系统的同学而言.这篇文章就是想在学习hadoop的同时,对ssh的原理作本人认为更进一步的理解,同时能够熟练掌握ssh命令作的一些记录.
学习ssh之前,我尝试去百度搜索各种ssh通信方面的原理,有时候看着看着,自己都被一系列"解密"/"通信握手"给弄糊涂了.直到看到看到 https://www.cnblogs.com/kex1n/p/6017963.html?utm_source=itdadao&utm_medium=referral,算是基本了解,但是这篇文章在有个地方讲得比较隐晦,也就是在第四步骤:serverB在接收到serverA的请求链接时候随机生成密码的讲得过于草率,在这一点上,也会对ssh的生成"随机数字"与解密的方式产生一定程度的误解.本人认为,serverB依靠其自身搭建的ssh服务,ssh服务通过serverA发送过来的一些信息(ip,用户名等),识别出是serverA,然后在自身的.ssh文件夹中获取到曾经serverA发给serverB的公钥,并通过该公钥结合rsa算法所产生的"随机值"作为serverA需要破解的字符或者信息,最后serverB再次确认从serverA中获取到的所谓的被破解的"随机值"才算是完成了一轮沟通,这也是为什么要三次握手的由来.
说了这么多,本人尝试用生活中的最简单的一个例子来代表ssh通信的一般原理.
需要手动输入密码的登录行为
最最原始的一种登录系统的行为,每次都需要输入账号和密码,这好比开门一样,账户名就是那扇门,密码就好比一把钥匙,
这最好理解,每次进入家(系统),我都需要找到门(用户名)[这个用户我并不理解成家的主人,而是理解成门或者门牌号],并且要用指定的钥匙(密码)才能打开门(用户),进入自己的家.随着时间的流逝,技术的更新迭代,家里面为了提高防盗手段,在各个通道(端口),已经安装了足够强悍的防盗系统(防火墙),而且防盗系统越来越智能,各种人脸识别/手纹识别(数学密码及破解算法)技术日益兴起.那么有些懒人就开始思考了,为啥每次进家还要钥匙呀?这不多此一举吗?bingo,接下来就是讲解免密手段,也就是不用明面上不用带钥匙的一种方法,而是通过家的智能防盗系统(ssh解密方式)来自动识别免密的登录行为。
作者:Alukar
链接:https://www.jianshu.com/p/0b45ec753c26
共同学习,写下你的评论
评论加载中...
作者其他优质文章