00:07
那咱们上午讲了证书颁发的整个过程。那大概的过程呢,大家可以思考一下啊,第一步先搭建CA,这个搭建CA之后,用户呢,可以向C提交证书申请,接着就可以进行审核之后颁发证书。搭建C的过程需要准备若干个文件,首先先生成私钥C的私钥C自己需要有个私钥。然后再生成自签名证书。那由于你要给未来的其他用户颁发证书,所以我们需要创建两个文件,一个文件叫index t文件,那这个文件放的就是未来,将来你颁发证书。
01:09
相关信息。比方说证书的编号,证书的。Subject主题,以及它的有效期、有效状态等等。第二个呢叫S,这个文件存放的是下一个要颁发证书的序号。啊,把这个四个文件准备好就可以。给别的用户来颁发证书了,但是对于别的用户来讲呢啊,我们要申请证书,第一步也是要生成私钥。生成私钥以后,利用现成的私钥来创建一个证书申请啊,证书申请的文件后缀一般是CSR后缀。
02:01
然后利用这个证书申请文件。RC就可以给他颁发证书了,颁发完证书以后,最终生成的文件。啊,默认是放在这个new设置下,就会有一个序号为开头的PM文件,那同时如果你指定了证书生成路径,它也会放在有一个指定的路径下,一般咱们放在那个叫S目录下。那对于最终用户,他经常用到的最终生成的文件,哪些是有效有用的呢?有三个文件。然后我们生成了很多文件啊,对于用户来讲,最终用的文件通常就三个,第一,自己的私钥。第二自己获取的证书,第三呢,就是C的证书。这三个文件是后续我们服务中经常用到的。
03:06
经过这样的一些过程呢,我们给用户的这个应用呢,就颁发了证书,当然证书呢,虽然有有效期。如果有效期还没有到。这个证书就需要提前让他这个过期或者吊销的话呢,我们需要有对应的吊销操作啊。这个吊销怎么做,我们下面来看一下。啊,吊销的方法是这样的,首先先确定要吊销的证书。我们可以用这个命令来查看某一个编号的证书信息。啊,那事实上咱们现在可以看一个数据库,这个数据库里面目前有三个证书。
04:07
我们可以通过这个命令跟上某一个证书的编号,来验证此编号对应的证书的有效情况,现在呢,我们可以看到它是有效的啊,比方说如果我想让它无效的话呢,很简单,我们可以把这个系统的时间给他改一改。啊,比方说我们现在看到的这个幺零和幺幺这些都是100天200天的有效期啊,当然这个东西你要想知道它的有效期多长时间,那我们就把这个证书打开看看就行了啊这个证书呢,我们在这儿可以看一下啊,比方说这个APP。二一杠二,这是上午我们颁发的证书。在这呢,它有显示证书的,呃,时间可以看到。
05:06
那大概就是200天是吧,这不九月份到三月份嘛,明年的是吧啊。啊,那么我们现在把这个时间估计给他一下调过期了,比方说我一下改成2020年是不是就过期了,那我改一下我的时间,怎么把时间改成一下过期了呀,这很简单吧,两年直接过期。这命令就把我的当前的时间直接就设成两年后了,看一下你看这时间能显出来是吧,那这个过期了,是不是那过期了,那我们怎么去验证这个证书啊,是不是过期了呢?那你看用一下刚才的命令,你验证一下,看能不能查出来。好,那刚才我们看到的这个是,呃,第几个证书编号的。
06:01
应该是幺幺这个吧,啊,应该是幺幺这个,那就这个嘛,它实际上是一个16进制,十进制不是幺七嘛,对吧,嗯,那就是幺幺,哎,它显示目前仍然有效啊,那事实上我这个过期了吧,应该啊。那我现在把这个证书文件我给他这样吧,我已经拷贝到我的Windows里了,那用Windows的这个图形界面来校验一下啊,就这个吧。这个文件当然我又得改一下时间,改下时间,VC就是那个腾讯课堂又会断一下是吧?啊那你们就。准备断线啊。啊,我给他改成故意超的时间长啊VNC应该断了啊,断了以后看看这边它显示没显示,看这显示了。
07:05
大V就是那个VC能看见啊,VC能看见吧,是不是。看了吗?证书已过期啊,证书已过期。啊,这个腾讯课堂断了啊,腾讯课堂。来重新共享一下,呃,现在腾讯课堂的同学应该能看见了,这证书已过期,那我的时间改成了2023年,所以这个证书是。过期的,当然这种是属于自然过期啊。那我们更多的通常可能是属于那种什么,哎,主动的把他这个证书给他吊销了,哎,你比如说员工离职了,这个服务器证书没用了,那我们在这个这个对应的用户的证书想给他吊销了是吧。
08:00
好,我把这个时间再恢复回去啊。好恢复回去啊,这个一恢复,每次时间一调,它这个腾讯课堂就会断。啊,所以可见它这个都涉及到一些加密的过程,那加密对时间要求还是比较严的。好了,那不管怎么样,证书已经希望把它吊销,那么吊销前可以先用这个命令来看一看,你要吊销的证书是什么,别吊销错了啊,比方说我们现在就想吊销这个PA1杠二,因为这个PA杠二实际上是他和幺零这两个证书实际上是同一个东西,我们上午呢,用同一个证书申请颁发了两个证书,那这个证书一个多办法了,那我想把它吊销了,这样,哎,那吊销的话呢,我们可以。
09:02
通过这个命令叫rework啊,那后面指定被吊销的证书就可以了,Rework好,注意吊销的时候呢,我们指定这个new search,别吊销错了,吊销的是11PM,被吊销错了,我已经在这个目录下了啊,所以我就不用写完整路径了。啊,那么一旦吊销,它就会自动的更改这个index test文件,把被吊销的证书这个地方的状态永有从有效变成无效。啊,看看是不是这样啊,我们看一下当前。注意到哪些文件已经发生了变化?是不是改了这个文件,嗯,就改了这个文件。那其中这个文件到底什么发生变化呢?我们瞅瞅不就知道了?
10:03
看到。第二个是不是就是被吊销了,吊销了好,这是吊销的情况,当然光吊销。没有实际价值,为什么呢?因为别人不知道。你虽然吊销了,是不是就像你身份证,所以你说宣称他的身份证是假的。但是由于你提前颁发给人家了,是不是人家拿这个假身份证到处跑来跑去的,你是不是别人不知道啊,因为这是真身份证啊,你说假,你说假的,那是你后来才说呢。是不是你得对不对公公示一下。那公示让大家知道,哎,这个证书被吊销了,你不公示,光说你吊销了那谁知道啊,对吧?嗯,那怎么公示呢?就是要生成一个叫证书吊销列表,放到一个公共的场合,大家能知道。
11:08
那这个证书吊销列表呢啊,也需要有编号啊,就跟那个index,就是那个文件一样,所以也要创建一个吊销列表的文件,从几号开始编号。那么在上午的时候,我们看这个证书文件的格式的这个配置文件的时候,这就有个那个吊销列表的文件和吊销列表的编号这两个,这就是这个吊销列表编号从几开始编号,就是被吊销的证书也有编号啊,那这个文件呢,就跟他的作用类似啊,只不过这个是人家是要颁发证书的编号,这个是被吊销证书的。编号啊,那这个文件也需要创建啊,如果不创建,待会它无法生成证书调列表文件啊,我们先不行,不生成不生成你看看错,那这个命令就是生成证书调销列表文件啊,叫CRLPM,而这个文件的路径呢,在这已经有定义了,就这个路径。
12:13
啊,这是生成的吊销列表文件,那我们用这个命令可以来生成,当然这个生成准确的说它会查询。我们目前的index文件,从而找到哪些证书被吊销。啊,如果发现原来有一些已经被吊销,后来又增加了一些,他就会重新更新这个新的证书吊销列表文件。哎,这样来生成,但这个生成呢,大家注意,是不是报了个错。这是不是就是因为我们缺失了刚才那个文件呀。对不对,那这个文件你得创建出来啊,前面你得指定一个编号啊,这个编号,当然这个从几开始都行,反正是一般都是从零一啊这个开始啊,当然这个也是16进制,那如果我们从零啊,这个零九开始。
13:03
啊零九啊,这就有了,然后呢,我们重新再吊销一次,大家看这个文件就生成了,啊,这个证书文件吊销列表文件就生成了,这个吊销列表文件生成之后呢,你要把它放在一个公共的场合。公式,比方说放在一个网站上让大家知道。那这个文件它的内容我们可以来看一下啊,因为这个Windows看起来还是比较直观的啊,所以我觉得还是发到Windows里,呃,当然它这个后缀呢,要改成CR,呃,CCRL,要不这个Windows不是不识别,把它改一个后缀,大家看是不是就看变了是吧,然后我们双击打开,你看它这里面是不是就看到了我们被吊销的第第11号。证书啊,这个呢,它是有版本的,你看没有CR的数字是零九记得吧,啊,这个是谁被吊销的。
14:00
对吧,这不是他的证书信息吗?当然你也可以吊销多次啊,比方说我们现在还有一个证书也想把它吊销了,就是这个证书也把它吊销了。啊,这个11刚才吊销了十号,我再吊销一次,我再吊销一个。啊,我把这个这个十十十号证书也给他吊销了。啊,一旦吊销它自然就会更新index文件,大家看两个都是RR了。当然,光更新不够,我们还要去生成新的证书,吊销列表文件。这就生成新的。重新生成。啊,那么生成之后,那咱们看一下刚才这个地方,我们手工生成了一个啊c crl number的这样的一个文件,这个文件看看它有什么变化,当然聪明同学应该知道他怎么变了。
15:02
是不是自动增长了。啊啊,现在变成00A啊0B,那之前我们从零九一旦吊销一次,它不应该变成0A了,又吊销的测试不是就0B了吗?对吧,那这个就是上次的备份吗?那上次备份你看是不是0A。呃,刚开始0909掉线过一次以后就变成0A,你又掉下来次数是0B了是吧。啊,那这个文件呢,你可以再把它拿出来。啊,再把它传到Windows。那你看看它里面是不是就俩证书被吊销了。好,这是第二个又传过来的。好,我把它改成CRL后缀,好双击打开,大家看这里面是不是应该有两个证书,看见没被吊销了吧?啊,这不写着呢吗?
16:05
这是他的颁发者之类的啊。这就是证书调销列表,那事实上咱们在互联网上确实有一些证书是有可能会提前吊销的,比方说百度,百度它这不是有证书嘛,那这个证书里面,其中我们在详细信息里面,这就有一个证书吊销列表的分发点,就是吊销列表的分发点,这个呢,实际上就是一个被吊销的证书文件,你可以把它下载下来。你看这不下载下来了吗?下载下来以后呢,你可以把它打开。就这个双击打开,你看这个是百度网站下载的证书调列表文件,你看这里面吊销的证书就。是不是很多对吧?啊,明白了吧,那这就是证书整个管理过程啊,当然用这个命令也可以查看被吊销的证书列表,你可以用这个命令来看。
17:06
啊,看到没有。哎,这就是这里面有两个证书被吊销了,十号11号啊,当然一旦被吊销,那么他的这个证书的状态再看一下。哎,你看它的状态是已work了啊,被掉线了,哎,注意到我们今天学到的这一些。命令和体系,就是这个思想体系,希望你们记住了,因为我们后面马上就要用到了啊,这个证书呢,是我们后面好多服务都要用到了。因为生产中安全性要求很高,所以很多地方都要用到证书来实现公钥的真实性证明,从而才能实现加密、身份验证,诸多功能啊,全都是依赖这一套的。
18:12
那么由此我们现在已经给大家实现了证书的从C的搭建,证书的申请,证书的吊销三大块儿。当然,我们发现这个命令好像还挺长的。那事实上呢,哎,我也记不住啊,太长了。啊,所以在用的时候你查文档嘛啊,复制粘贴啊。那有没有更简单的方法呢?那如果说我们后天做实验,哎,我就想自己大申请个证书。那在这种情况下。我们可以用一个最简洁的方法来实现证书,那就是什么呢?自签名证书。假说我就用一个证书,那就一个证书,我为了一个证书,我来搭个C,再给自己颁,给给给用,通过C颁发证书,实际上没有用,没有用就没有意义,我还不如就自己给自己颁发一个自签名证书,你得这也行啊。但是如果说你的企业里面用的证书比较多,那比方说好几个用户都要申请证书,那这时候你就得搭C了,因为搭了C以后才能给多个用户颁发证书,而且彼此之间都属于同一个C颁发的,他们彼此也还是信任的,你才能将来互相实现安全通讯。
19:27
那如果就一个机器,那那你就搭个自签名证书不就完了吗?啊。那这个自签名证书也好,还是这些,那么我们虽然刚才命令讲了很多,事实上在森豆S7的上面有一个非常简单的创建证书的方法啊,在这个地方有一个四目录在七上,我们只要执行。比方说我想给将来某个服务颁发证书,哎,行,那你就写这个就可以了,只要写证书文件。
20:01
这重视文件CRT后缀,至于前面是什么都行啊,比方说将来我们有一个HTTP服务,那我就写AB啊,将来是有个MYSQL数据库服务,我就写MYSQL,明白吧,那就表示给这个服务用的一个证书。啊,那么写完以后一回车,他让你提供口令,为什么呢?你看他实际上是干了什么事,你看这个命令。看懂了吗?它自动的调用了open sce生成了一个128AES加密的2048位的私钥,因为你要实现自签名证书不得有私钥吗?私钥是我们创建证书的基本条件呀,不论是自签名还是证书申请,是不是都得有啊啊?那这个私钥它生成,它默认是要加密的,在这个密码呢,你可以加一下输两遍。那这时候接着他利用这个私钥文件,大家看,利用私钥文件就生成了一个证书文件,这个证书文件大家看,这就是那个自签名的证书啊,自签名证书你需要提供刚才加密那个私钥,再说一遍考虑。
21:13
这填填国家什么就填就行了,国家北京吧,这回北京你们毕业有同学去北京了吗?北京欢迎你们啊,这个去一线城市还是机会多啊,尤其北京这个前曾经从网上那个那个有些那个调查,就各个大城市it就业的那个岗位,包括薪资,北京是排在第一的,就上海这都差了,不是一个大尖的,比不了深圳都不行,也比不了,就北京中中间来讲,他是那个公司总部都在那和大公司都在那啊,虽然说这个气候条件不一定说你们喜欢,但是待遇高啊,是吧。呃,公司岗位就是岗位需求也大,一般现在排名就是需求量最大的,北京第一,上海第二,深圳第三,好像是杭州吧,那杭州能拍到杭州,因为那个阿里系统在那边啊啊这个是组织签一个啊,比方说这是买Q用的好这样的话就生成完了,好那那这个这个证书文件,嗯,能不能看看呢?那看一下不就知道了啊,它是被被六四处理过了,那我们就用X509,嗯来看看不就行了,打开它in后面跟上这个文件no out,然后test方式看,这不是我们颁发的证书信息,当然一看这就是自签名,你看这个都是都是自己的有效期,我们又没有纸,没有纸默认365天,看到没有。
22:55
当然这个好像我们这个根本就没敲命令,我们就敲一个啥呀,这个是不是我们就敲一个这个一切都把我们干了,方便不啊啊当然了,呃,如果说你不想生成呃证书,你就想生成一个私钥,那也简单,那就是生成一个叫K就行了,只要是K后缀,它就是个私钥。
23:17
你看直接提供密码123456,再敲一遍行了,这个私钥文件就生成了,你看看他是不是这个私钥文件,你打开看。哎呀,这个好聪明啊。这咋咋咋做的呀,这是哎,实际上啊,他就是把我们前面写的那些命令写成了一个make fair文件,那么你刚才执行make的时候,它调用的就是make fair文件来实现,你看看。你看它这个里面支持的后缀是这些后缀,只要是不同的后缀,它就会自动干不同的事儿。啊,那比方说我们刚才执行K的时候,他干了什么事呢?如果你创建的文件后面跟K,他就执行这个命令,看到没啊,那为什么他要提供加密口令,这就是因为他老带这个AS128,那所以如果说你生的饲料不想带口令,那简单你把这个文件改改不就得了吗?你把这个128这个东西不他去了不就行了,要不他每次你看刚才生成证书文件的时候,它有那个所谓的证书那个那个K啊,这个地方的K,所以呢,你可以把它呢去掉啊,你把这个复制一下,然后把这行给它注释掉,然后把这个AES呢128给它删了,这样的话生成的C钥它也就没有那个哎密码了。
24:37
啊,包括啊,刚才我们创建的这个,呃,CRTCRT呢,你看它这个也是CRT这个地方,它就生成了那个利用生成的私要文件,利用生成的四要文件来生成一个证书的。嗯,证书文件,那另外除了他支持我刚才写的T,呃,CRT还支持这种后缀CRSRCRR就证书申请文件,然后PM呢,就是PM比较特殊啊,PM呢,它是把私钥和证书放在一起了,成了一个打包文件了啊,这个打包文件将来在什么场合用呢?确实有些服务。
25:16
它是用一个文件来存证书文件和私要文件的啊,这个这个和服务有关啊,有的服务呢,它的配置文件是分开的,有的服务说证书文件指一个文件路径,然后私要文件在指指一个路径,它是分开两两个两个指令分别指,但是有些服务呢,就是一个文件指指一下这个文件里面就就得要求又得放证书,又得放四要,那在这种情况下,你就生成一个PM文件就行了啊,你看如果我现在啊,我生成一个叫make。叫APP2的PM,这时候呢,这个文件里面就有公钥,呃,又有证书,又有那个,呃K又有私钥,你看它是不是这样啊,你看我填上。
26:04
啊,就随便写一个啊公司。啊叫APP2,好,你看现在cat app2,你看这里面下面是证书,这不写着呢吗?你看上面是不是就是private就合二为一了。那实际上它所谓的合二为一怎么做的呢?实际上它就分成两步,第一步先生成公钥,呃先生成私钥,然后再生成呃,生成证书,然后把两个文件组合在用CA组合在一起了,你实际上你要手工做也可以啊,手工做你看我刚才不就做了啊,做分开做的吗?那你看这个,这是那个证书文件,这是不就私要文件吗?那你要想合在一起,那很简单,你把它放在一起不就行了吗?先然后合并到一个,呃,MYSQL的PM,那这就行了嘛,就就就它实际上就是这么做的。
27:00
就把这两个合在一起了,这就形成了这个所谓的PM文件,这不就就就完了,就这么简单吗?对吧?啊啊,当然他这个是你看它这里面命令里面就是这么写的,你看这写着呢,PMPM怎么做,先用maketime,这maketime讲过吗?是不是生成临时文件呢?诶先生成一个临时文件,这也生成一个临时文件,用这个命令把生成的私钥,同时哎生成一个证书申请文件,放到这个文件里,然后再去。把这两个命令合在一起,你看他是不是cat嘛,是不是把两个文件合在一起啊,实际上他最终也是这么干的。只不过就是他用这个make fair文件,省得我们自己一点血了啊,可惜的是S8没有这个文件啊,PKTRS,你看这里面也有色此目录,但是你看这里面就没有那个makec fair文件了,没有makecfi文件,这个呢,只有在SS6和S7的目录下是有这个make fair文件的。
28:06
那六上应该也有六上,你看看PPI tss,你看这不也有make贝文件嘛,对吧?啊,那有make贝文件呢,你就可以用它就行了,那没有没有没关系,你拷一份过来不就行了吗?啊比方说你把这个呃,Make贝文件拷贝到八上啊呃,当然放在哪无所谓,比方说放在这个对项。好拷过来了,拷过来以后啊,看这边找到data下啊,这不有一个make fair文件嘛,那你就在这就可以用了啊,比方说生成一个什么呃,Test啊K看这时候就因为我们把那个密码给注释掉了,所以现在就没有四幺没有那个密码了,你看这个TK是不是就生成了,这不生成了吗?
29:04
呃,所以诶,你是不是也可以参考人家这个没fair文件的格式啊,只要拷过来就可以用,诶你看这种方式挺好,挺方便。啊,现在就类似于一个脚本似的是吧,哎。所以以后做实验的话,如果说你就想用个证书,你也没有什么特别其他的要求,你就可以拿这个文件现成做就行了,那省又快,不过我建议大家初期你还是别用这个,因为这太太省事了,省事到你都不知道里面得怎么做的是吧,你最好还是初期还是老老师写这个命令,写了几遍,熟了以后,你觉得将来不想写了是吧,你再用啊,初期咱们还是背一点是笨办法,多练。当然我建议大家还是写成脚本,现在问题来了,你怎么写脚本对吧?啊,你比方说我们现在要生成,你能不能通过一个脚本来生成。
30:03
一个C,以及把两个用户,两个服务的证书给他颁发了。那我们需要有三个证书,一个是C自己的证书,把C搭起来。第二个就给第一个用户颁发一个证书,再给第二个用户颁发证书,当然你会了这两个了,那你将来给第四个,第五个,将来给100个用户颁发证书,不就是一个循环的事吗。那这个东西你能不能就脚本来实现对吧,这既然是脚本,是不是就应该消除那些交互式操作。啊,不要再让我敲什么CN啊城市啊,让我敲什么敲啊,对吧,他一执行就完事那种。啊,当然这个东西你要实现非交付,那你肯定得事先把那些要提交的,比方说城市啊,国家那些东西是不是需要写好啊,啊,事先给他填好,然后夸一下提交就结束了,这不就快了吗?
31:06
这个大家可以做一个作业啊,作业啊,这个作业我觉得是正好也复习一下脚本啊。啊,这个是作,可以说今天学到这重点啊,重点实现编写脚本,实际上你编写脚本都会了,那这个里面的命令你就不就都熟了吗?啊编写脚本实现啊,自建C和证书颁发。颁发两个。证书,这两个用户证书,那分别叫比如说matter CRT和sli CRT这两个证书,当然再加上CA的证书,有三证书,这个用脚本实现啊,至于那些国家省份你自己想啊,那反正你填好就行了,总之最终生成C,以及他用C这个颁发的两个用户的证书。
32:23
这个脚本实现。好,我刚才给大家演示的是一步步手工敲的啊,当然你下来你可以先一步步手工敲,然后呢,把它改改改成脚本,改成脚本。好,那这就是咱们给他讲的证书这一套实践逻辑,当然证书最后我们说颁化完了,那生成证书文件了,那用咋用,那是我们以后的事了,我们讲服务的时候再用啊。啊,这个是刚才说的那个用三斗七来创建自签名证书怎么做啊,这有。
33:04
这有说明啊,这是刚才我给大家说的那个没文件。啊。这个是我刚才给大家演示的那个。C、颁发证书的整个过程我都已经详细的写成文档了,这都有。所以你们可以参考这个文档。啊,这个写成了一个实战案例,大家可以。谢谢。啊,所有的过程都有。好了,那这是咱们给大家讲的证书的整个过程。那接下来咱们就开始来学习。可以说是我们整个。
34:00
课程里面的第一个正儿八经的服务啊,叫SH服务,这个服务呢,是大家比较熟悉的,天天都在用的。我们天天用叉12远程连接都是靠SS服务的,这个服务由于它是一个比较基础的服务,所以我们没有把它单独拿到一个章节里面,它属于比较小的一个服务,但是又是用的最多的一个服务啊,和安全密切相关,所以我们给大家来介绍一下S服务。啊,从S2服往后呢,我们就开始一个一个图开始讲啊,全都是服。每个服务呢,实际上就是一个应用,就是一个软件,说白了啊,我们后面会讲很多大服务,有些服务呢,可能好几天才讲完,有些服务可能一一堂课就讲完了。这个大小不一啊。啊,当然艾特服务是比较简单的,那我们来看一下艾特服务啊,那么艾特服务呢,是我们。
35:03
工作中密切密切使用的服务,它可以实现远程登录,也可以实现远程执行命令。那么之所以这个现在目前用的非常多,就是因为S服务的是加密的,它叫安全share。这是它的简称啊,叫SSH,实际上是安全线的缩写,那么这种协议呢,是基于TCP22端口。因为它中间的通讯过程是加密的,所以我们根本不需要担心被截获口令。用它来代替早期的telnet,大家记得我们前面课程把那个T密码抓取过啊,是很不安全的啊,虽然泰的历史悠久,老牌的应用系统利用软件了。
36:02
但是它确实不安全。啊,所以我们现在一般都是用SSH,尤其这个。服务器的连接都是用SSH啊,有些企业有些员工现在仍然还是对安全性意识不强,他们仍然是用t net去实现一些什么网络设备的管理啊,比如说远程登录,什么路由器,交换机去配这东西实际上是不安全的。不过他们这个有侥幸心态吧,侥侥幸心态,觉得别人不会抓爆的是吧,那抓住了再说呗。啊。那SSH呢是安全的,当然这个安全从哪从哪来证明,那这个我们稍后呢,说说SSH为什么安全啊,他的工作逻辑是什么?那么SSH这个是个协议,要实现这个协议呢,咱们可以用很多软件来帮我们实现。在Linux中大部分的版本用的一般都是这种open s这个软件,这是个软件,它实现了S协议啊,不过呢,也有一个精简版的SH软件功能服务叫找比尔啊。
37:15
招也能实现S热,而且呢特别小,还啊它不能它相对OPS在这功能没虽然没那么丰富吧,也够用啊,但是又小。啊,所以呢,有些。小型环境,比方说一些嵌入性设备,人家家里有些这个,呃,这个智能设备,那智能设备它的存储啊,它的内存都比较小啊,所以就没有必要装,那么你像我们电脑那配置多强啊啊,它没有没有要那个装这么复杂的open s4,所以他就弄个招。啊,所以呢,现在大家可以想象你像家用的一些智能设备,你像家里比方扫地机器人对吧?啊家里的什么这个呃,小爱同学啊,音箱啊,什么这个摄像头啊,这些东西,它肯定内置了一些小另nu系统,但是内系统因为它这配置不高,所以它不需要配置很强的软件,那么功能,那它就装一个Li内核,再加一个什么basic box,再加个draw b行了,这这这是个小型Linux,你看远程远程也能连,是不是基本命令也能敲bos几百个命令都能用啊linu那盒这不就可以用了吗?那就是个嵌入系统。
38:33
啊,装完以后空间很小很小,那几兆的空间就放得下了啊几兆。啊,你插个那个SIM卡,那那那那存储卡,现在存储卡都大了,以前那那插个一个G也够了啊。那当然我们这不讲这个,暂时不说这个周比尔啊,因为我们终究是一个服务器,我们用open。这个3S当然默认安装,那么那个乌邦兔呢,默认安装他都不给你装,默认他不给你装,但是装的时候呢,最后有一个界面让你选,当时我们是要求大家选的,你要不选的话,那远程连不上去了就行啊。
39:12
这个属于Windows的标配吧,就最早安装都给你装好,那么SR协议呢,它这个版本是有1.0啊有2.0 V1V2版V1版淘汰了,这个我们就不讨论了,目前呢,主要用的是V2版。它可以实现安全通讯,可以结合地算法实现密钥交换,利用RC和DC实现身份验证。它背后都是利用非对称对称包括哈希算法组合起来实现了安全。通讯的。那么它是如何来实现两个主机的公钥交换呢?那首先两个主机我要通过S2协议远程连接对方,那比方说你看我这两台机器啊,这个六和七之间从来没连过啊,这个没连过,那我要连和对方通讯,那怎么连呢?那么是这样的,当你用S命令和对方连接的时候,它要自动的先交换公钥。
40:18
那么交换重要是这么公公要交换的,大家看这是客户端和服务器端,他一连,这时候服务器端就会主动的把公钥发给他,把自己的公钥啊,就是把服务器的公钥发给客户端,看这有个公钥。呃,这个图呢,大家看的时候。是这样的,这个这是有矩形,这是菱形是不一样的,大家看这个是矩形,这是菱形,看到没有,哎,那这个矩形呢,是表示福器的钥匙,而这个菱形呢,表示的是客户端的钥匙,呃,颜色它是一样的,那客户端它也有公钥私钥,服务器端也有公钥私钥,那么当客户端发起连接以后,客户端会收到一个服务器发过来的公钥。
41:06
然后发过来,发过来以后呢,同时会发一个叫绘画ID的。啊,一个内容。好,然后这边就得到了伏气的公钥,得到伏气的功效以后,他会拿。这个ID。和公钥进行。抑或?啊,当然这个公钥是谁的公钥呢?当然这个是客户端的公钥啊,这个地方说的不清楚啊,这是客户端的公钥,这是户端公钥,这个地方客户端公钥和绘画ID进行诱惑,得到一个结果叫res。然后再拿,注意这是矩形。句型是谁啊?服务器的公料,就拿服务器的公钥把r res进行加密。把2S进加密以后,得到了一个加密的数据。
42:02
然后把这个数据呢,发还给服务器,那么发还服务器以后呢?当然我们都知道服务器是有私钥的,你这是不是拿我的公钥加密的,我是不是就可以拿自己的私钥解密,解密进而得到了res对不对?得到res以后。接着我们利用咱们刚才不是把这个会话ID给发过去了吗?我本机是不是有R有ID啊,有啊,然后再和res进行抑货,得到了什么,得到了服务器的,这就是客户端的重要,为什么抑或的特点是什么呀?抑或的特点就是A和B抑或得到C是不是就是C和A,抑或就得到BC和B,抑或就得到A,是不是我们讲过的呀,所以利用这种特性是不是就哎你也得到了我的公钥,我也得到有公钥,大家想双方都有公钥了,那那不就完了吗?
43:03
那以后能让共享通讯不就行了吗?加密啊什么的都行了。那我们前面讲那个证书干嘛呢?那证书不就是为了交换公钥的吗?对吧,但是这里面就用到证书了吗?啊,这里面好像没有直接用到证书。那没有用到证书,那也就是说没有CA来颁发证书,没有颁发证书,它是通过这种方式来实现公钥的交换的,怎么公钥交换的就是你直接发给我。当然,这个东西有没有风险,如果我是黑客,大家想我就站在中间。你想想,是不是一切都没有什么安全性了?你想啥意思呀?你给我个公钥,你给要注意啊,这个公钥直接发的啊,就客户端一连,你客户端一联,客户服务器端逐渐把公钥发过去,这边也不做检查,相当于。你给我啥我就使啥,那万一我这是个黑客呢,我两边骗呢,对不对?哎,你发过来,我我截住你,你别发,然后我替你发,然后服务器端发了一个公钥过来,哎,我收到了,我把它改了,改了以后发过来是个假公钥,你说后面是不是就一切就没没戏了,这不中年人攻击吗?
44:16
所以呢,我们用这种SSH是有风险的。风险就来自于你第一次连接,一定要确保你连的是个真机器,不是一个中间人的机器,你得到的公钥一定要确认是真的公钥。那怎么确认呢?那现在你看我们从。我这个八从来没有连过这个16啊,那我你看我去连一下六,我连六的时候,大家注意到这是不是要有那个所谓的RC,这问你yes no。啊,这你看,只要我第一次连接,他都会这么问你,要是我七上去连六也一样,你看他都会问你yes no。
45:00
这个问题验缩啥意思呀,这是那啥意思啊,就是你希望计算机是没办法确认你连的这个机器是真的还是假的了,你请你人工确认吧,你注意你敲yes的时候是有风险的,有可能你连的六是个假六。是个中间人知道吗?所以你挑yes的时候要确认的对吧?哎,这个郝总说的是你真的要和他在一起吗?是吧。那你真的愿意和他是吧?这个共患难啊,同生死,一生嘛,是吧?啊,同意,然后一年以后就打架开始离婚了,刚开始都是美好的啊。
46:01
雨虹啥意思啊,雨虹心深有感触是吗?啊红雨是吧?啊,那那那所以你这个敲yes子的时候,你不是随便敲的,你实际上你敲yes子时候冒着巨大风险的啊,那这个实际上我们怎么验证这个东西是真实的呢?实际上这个地方已经告诉诉我们了,这就是那个公钥,那这是对方公钥的哈希值,那这个公钥的哈希值从哪来呢?实际上是在六的基上,它有一个那个公钥文件,我们说过的,在这有一个目录,这里面放的就是那个RC公钥的那个文件,这个这个文件就是那个公钥,但是这个公钥呢,这是被被被六四转化过的,那我们把这个文件呢,给它拷出来,好,我给它拷出来,然后呢,把这个SSH这个文件这里面这个就不要了,这个最后的回车也不要了,把它去掉,就是用贝。
47:01
格斯转换过的,我们都知道真正的不是被六四,那我们现在就有一个要求,是不是要把它转换回标准数据格式啊,那怎么转换呀,是不是有个D呀,这当然他一弄就乱码了。啊,乱码,乱码,真正的密钥人就是乱码。哎,这背六字是让你看起来舒服而已,对不对,哎,那那那那我们怎么办呢?呃,我们把它再用MD5哈希值做一下运算。这个是它真正的哈希值,你对比一下这个地方8C44D9,你看一下是不是就是它。是不是就是他看出了吧,啊,你这儿看到的这个这个东西实际上就是它的公钥,它的哈希值。所以那你怎么知道你现在连的机器是真的是它呢?那你就在服务器上先看看是不是这个值,然后跑到这来,我就对一下,哎,这一样不一样一样,那好了,那就是你,你连的就是真机器。
48:02
对吧,不,不一样,那就是假的呗,就别连了,你现在连的是个甲六。是吧?但这个好像有点不不太方便,因为说实在你要算这个东西是不是不好算也得。你还得处理一下。啊,有没有一个更好的方法让我们能确定我连的机器是个真六呢?那实际上还有一个更简单的方法啊,你看这个八去连的时候啊,八连六的时候,它就没有那个MD5,他用的是SA256,那这又不一样,那你不能说我我这个连六了八连了都不一样,那我还得分反复算,那太麻烦了,诶实际上方法也有简单的啊,那这时候呢,如果你想知道这个哈希值是不是对应的是真的。那你可以这么干啊,你自己连自己好不好,大家看这不就清楚了吗?你自己连自己这个值和让他坐在远程去连这个值,你看一样不一样一样,那说明就没问题了。
49:06
你自己连自己和远程连看的东西如果一样,那说明他就连的是同一个机型。是不是?这不就行了吗?啊,当然比较好的方法就是你要记录这些人的哈希值,把它贴在一个公共的场合,公共的文件里面,这样的话一连诶一看啊,那是不是那个是好说明就可以没问题了,就可连了啊,如果不是你就别连了,这个东西是个假冒的机器。所以第一次连接需要确认,但是后续连接就没事了啊,因为你第一次把交换公钥以后,你只要确认公钥是真实的,后续就没事了,就第一次有巨大风险,尤其在公网上,局网里面,可能一般公司内部可能还好一些,那公网上那你要连,那万一是个假的,那保不齐。对吧,啊,你连上去,你不做校验的话,你连上去以为你是连连到那个真机机上是个假的,所有操作都在一个假机上操作了。
50:10
那另外一点呢,就是我们一旦连通对方,一旦连通对方啊,我去比方说连七第四连这个敲yes的时候啊,刚才说了敲yes实际上就会自动的把对方的公钥下载下来,下哪呢?实际上下在这了,这有一个隐藏的文件夹叫点SH,这个文件夹如果不存在,它会自动生成。这里面会自动生成一个叫no host文件来存放从远程主机下载的公钥啊,比方说我们来试一试,敲yes的时候,一旦敲yes,它就会把远程主机的公钥下载到这个文件夹里面,生成一个闹号文件来存这个对方的公钥,注意这时候已经下来了,我不用敲密码,你能看到已经有了,看到没,是不是生成了,你看一下这个文件里面的内容,是不是放了10.27的公钥,大家看这用的是ECDHA256这个这个公钥,那这公钥这个公钥是从哪得到的呢?是七的哪个哪个地方从哪下载的呢?那就是七的这个目录,ETCSSH这个目录,这个目录里面有好几个公钥啊,这也是公钥,这也是公钥。那么参考刚才那个文件,它的名字叫什么呀?它叫什么ECDCC2啊CR,那看看那这里面哪个是啊ec。
51:40
DCDC这是pub,那可能就是这个,反正是这个,那把它打开看看是不是它。啊,我们就看最后几位就行了,是5KRWQ等号看对不。就是它当然它这个地方有好几个公钥啊,就是我们这你看这边这个公钥,这也是公钥,这也是公钥对吧?那那那这个公钥好几个,那到底下哪个,那那个不同的系统,它这个有一个有一个支持那种。
52:13
那支持哪种,那我支持哪种,那我试吗?不这种支持,那我就用这个,那不支持我就下一个一个一个是啊,只找到一个是支持的,我就把它下来,它一个是你要说六,你要六的话呢,它可能就没有那么多,它不支持那些算法,不支那些算法呢?啊这时候你一敲yes,哎,这时候它也下载下来了,你看它这下载的是哪个文件,你看它下载的是RC的这种。算法,那RC算法呢,显而见就不是刚才说的这个这个ECD sa了,它应该是这个这下他下的,那我们看一下是不是这个,你看这个是什么,3FB8F是吧?诶你看看这是不是3FB8F,就是它系统不一样,它支持的那个汉算法不一样啊,就是加密算法不一样,那既然算法不一样,那我就用支你支持哪种,我支持哪种,咱俩商量嘛,是吧,商量一个下一个就行了。
53:07
这多个公钥,那这个就拿到对方的公钥了吗?啊,拿到对方的公钥,那后续通讯我就可以用公钥来进行加密数据啊,那不就安全了,比方说交换,我把这个咱俩的绘画密钥用公钥加密,加密传给你,你用这个自己的私钥一解密,咱们都有那个会画密钥,那加密加密数据不就完了吗?那有了共同的对称密钥以后,那加密数据不是很快呀啊,所以后续就安全了。当然我们刚才也提到了,那中间他有没有后续的安全风险呢?比方说万一对方的机器被别人冒充了。有没有安全风险呢?啊,比方说我这再开一个分八的机器,这个机器冒充。八冒充。
54:00
冒充18这个机器。啊,我现在你看七啊,这个现在我已经连到这了,你看我这已经有了那个八的那个公钥文件了,啊,已经有了,现在呢,这个八个机器假设啊,十十二点八零机器给关机了。是要把这个机器断网了,断网了,断网了以后呢,有一个黑客。哎,冒充这个机器要把地址故意改成八,故意改成八改了好大家看地址已经改成了八了,那现在这个机器是个假冒的机器,那么作为七来讲,他能不能及时发现他现在连的是个假机器呢?他再去连八,他能不能发现看看就知道了。
55:10
怎么连上去了?呀,这有事了,那这个既然连上去了,这个八和刚才的八明明是不是同一个八对不对,为什么连上去了呢?就是因为我这两个机器是克隆出来的,断了是吧?VC断了吗?VCVC也断了。哎,那我看大家看啊,既然冒充成功了。
56:00
那这个那那冒充八既然成功了,那我们这换一个啊,我估计再换一换,那我去冒充六能不能冒充。好,那我断了,我连一下啊,原来的六肯定能连,哎,连了六能连好,那现在我们连过六以后呢,大家看这里面就有六的那个公钥了,那么现在呢,我再去冒充六,我在这边再去冒充六,我把这个地址改成六好,那么改成以后再去好,那现在我们去冒充一下六,能不能冒充六呢?那我们现在去连一下,诶,发现这回不行了。哎,这个刚才怎么行啊,这回就不行了。这个冒充他怎么发现的呢?大家看这有一个提示,说远程主机标识已经发生了变化,啥叫标识啊,实际上就是你刚才把公钥不是下下来了吗?下下来以后呢,你和对方通讯呢,他那边有私钥啊,如果私钥和公钥能成对使用。
57:09
他就认为你是原来那个人。那么我现在之所以冒充六失败了,其实因为对方的四钥五八个没有,就是我这个假的机器上没有啊,冒充不了,那为什么刚才冒充八就行了,因为我是科隆的机器,克隆机器和那个私钥也是一样的。我是克隆出来的,就是拷贝那个文件夹嘛,所以他私钥也是一样的。啊,所以就冒充八成功了,冒充六失败了,那私钥是谁呢?私钥就是刚才我们说公钥是哪个文件呀,公钥文件呢,在。公钥文件在这,私钥文件就是这个成对的吗?比方说这个是公钥,那么对应的这不就是私钥吗?那这个是那个公钥,这就是那个对的私钥吗?那换句话说,只要你偷走了对方的私钥。
58:00
是不是就可以冒充对方了?是这样吗?那比方说我现在冒充六不是失败了吗?那我如果把六的机器给他搞过来,把这个私钥给他偷过来,是不是就可以冒充成功啊?当然我得把那个把那个六的那个RC算法的那个四要扣过来。啊,透到这个八的上面去。那怎么偷呢?那我们来偷一偷。啊。那我先把这个地址先临时改一下啊,因为我要偷人家的,我地址不能和他冲突了。把零食改成16吧,好,然后把地址先调过来,调过来以后我去假设我就跑到六上去偷他的私钥啊,私钥在这呢。
59:09
嗯,我先上去啊。啊,连上去以后,它有一个文件夹,这个里面就是放饲料的。那对应的那个公钥文件呢,是这个RCPUK,那么对应的C钥呢,就是这个RRC,就这个,所以我把这个文件拷一下就行了,Host RC k,这就是那个思角,好,我把它偷到我的电脑上,我的电脑是魔16啊,我先拖到这个data下吧,啊偷走了,那偷走以后呢,我就可以断开了,那我再把地址再改成那我这个冒充冒充六啊。把这个线断一下。那冒充的话,两个不能地址冲突了。
60:15
好,那这是咱们啊,这个是这个是冒充的机器,把这个冒充的机器呢,我把这个地址改成一个六冒充它。好,然后呢,改完了以后,呃,我们把刚才那个私钥文件在这呢,把它拷贝到ETC下啊,拷贝到etcssh这个目录下。那这里面呢,考过了以后还需要注意啊,它这本身是不是也一个LC啊,那我可以把它先备份出来啊,移动移走吧,移走这个SSH host RC的K啊,移到比方说入一下吧,然后把我们data下的那个文件移过来。
61:09
移到etcssh。目录下,但移过去要注意权限。啊,你看这个权限对不对。RCK权限有问题,为什么呢?你看人家这是SK所拥有是吧,所以我们得改一下所有者所属组啊,啊,这个叫SHK。那后面跟上S才是host c,这就行了。那现在我们来看冒充能不能成功啊,刚才冒充失败了,现在再来冒充,刚才不是冒充失败了吗?那再来试一试能不能冒充成功。因为我只是偷了他的C啊,那我P一下啊,能不能不通呀,没没没生效,网络断的,网络断的,那我就把这个网络先恢复一下。
62:02
地址还没生效呢。啊,16还没改过来,改了还没生效。好,把地址改过来了,好,那我们来看一下再次冒充六能拼通了,大家看,冒充成功了。看见没私,就是你只要偷私私钥就行,公钥用不着啊,所以再次证明私钥保护好,是要偷了就冒充了。好了,这是咱们给大家演示的。啊,所以呢,大家发现很安全啊,当然这个地方有一个问题啊,就是呃,你这一旦发现这个ID变了。那就不让连了,不让连的话也会带来一个新问题,就是万一人家这个机器真的换机器了。
63:02
比方说我新买那台服务器,这个六机器老了啊,三年多四年了,服务器已经快快过期了啊,这个硬件的时间长了以后,它一般有一个折折旧啊,到到一定的期限就就该回收了,那公司就就就该淘汰了,那现在我这个硬件不行了,买了一台新机器,配的地址也是六,那现在问题是是不是我新装好的系统六是个新机器,是不让你连呀,那他一看这个钥匙不对了,他不让你连,那不让连那怎么办啊。哎,那么方法就是我们可以把对应的这个目录下的这个文件找到,把那个对应的你想连那一行删了不就行了吗。嗯,删了以后呢,是不是就可以重新重新获取对方的公钥就行了,明白了吧?啊,你再敲一遍yes子不就行了吗?是不是啊,这就是他背后的逻辑。所以大家发现这个S你不得不说啊,它这个安全背后还是有很多。
64:02
好的地方功功能都实现了。好,这是刚才给大家讲的。SSH的。过程,由于我们通过前面的过程获取了对方的公钥,那后续呢,我们就可以拿公钥和对方来进行后续的加密通讯,我可以用对方的公钥加密数据传给对方,对方也可以用自己的私钥解密啊,当然也可以用把会话密钥进行加密,加密之后传给对方,对方用自己私钥解密,进而就获取了会话密钥,进而用会话密钥进行大量数据的加密。啊,传染速度也是能保障的。那么SSH服务呢,这个软件啊,它是我们服务器的一个属于标配软件了。
65:05
啊,我们这个软件里面它包含了。怎么连不上啊?啊,刚才把人家断网了。好,那么其中呢,咱们在系统中open open星。这出事了,看看提示啥事,知道什么原因吗?看仔细啊,你找到提示你就知道什么原因了。
66:05
找到原因了吗?这是你工作中将来可能会遇到的故障啊,什么原因啊,这不写了吗?证书过期了吗?证书过期了,为什么呀?那不是我的时间不对吗?是不是?你看你你看证书过期,连这都不能访问了。那就赶紧纠正过来吧。硬件时间是对的,所以我们用利用硬件时间来恢复吧,这硬件时间不是对的吗?那怎么做来着?那这不就纠正了这个错误时间吗?那在。啊。所以你看你知道这个时间重要了吧。时间错了好多。
67:01
都有问题啊,我们看到opens在开头的命令就是包啊,不少默认,不过已经把三个包都装上了,这三个包也是我们用的最多的包,这个是大家都需要的。就是服务器端也需要,客户端也需要,而这个呢,是客户端包,这个是服务器端包啊,各有各的功能,那这个通用包里面涵盖了哪些文件呢?我们来瞅一眼这些。啊,其中这有一个这样的文件,这个文件是我们后面要用的。叫生成K里用的,还有一个是客户端包,那客户端包里面我们用的比较多的,你像咱们天天用的SH。
68:05
还有SAP拷文件。SMTB用的不多了,这个也是用的比较多的。那夫妻端看看server夫妻端播我们刚才。在ETC下SSH。这个目录下这个文件就是属于服务器包。叫SD抗。那和它很相似的一个文件,也是在这个目录下,大家看也是在这个文件夹里面,不过呢叫s sh com,这两个呢,就差了一个字母,大家仔细观察,这是client包,Client包里面有一个SSH comp,而这边呢,叫s shd comp,就差了一点点。这个是我们平常一般的软件较少见的现象啊,一般的软件就是服务器端的配置文件和客户端配置文件是不会放在一起的,他现在给放在一个文件夹里了啊,所以呢,到时候别给搞混了啊,一个带D一个不带地,带地的就是服务器端配置文件,不带D的是客户端配置文件。
69:12
啊,一般的服务呢,都是客户端有专门的,甚至有的客户端都没配置文件啊,有的服务器端还有专门的配置文件夹。好,这是他们三个包文件。带有的内容。啊,当然这些工具客户端服务器端。那这边这边怎么去用,那我们这边有很多工具,那客户端命令有很多,包括在Windows里,实际上也可以安装一些客户端工具,你像我们天天用的插啊,当然你们有没有用,有没有人同学用这个客户端的mobile。Ma版X这个是免费的啊,说实在咱们现在用的叉线是收费的啊,不过也有那种免费版,免费版,不过它的这个有限制,就连接啊个数啊有限制啊,你要是不想受限,你就得用正正式那个正版的话要花钱的插线,这个魔吧呢,它有有那个收费版,也有免费版,免费版也挺够用啊,这个魔吧呢挺好用的啊,之前我用过一段时间。
70:30
Mobile啊,它的这个界面比这个叉十要好看,这是也是属于SSSH的客户端工具这个。你看这个界面就这样了。啊,挺花哨的,挺花哨的啊,这边下载它有那个免费版,看免费版,免费版最多支持12个session 12个不用花钱,这个免费版也有收费版啊,这个有时间你可以玩一玩,挺好用的,比这个插插线要花手啊,当然也有缺点,缺点就是稍微慢一点,它比较耗资源啊,谁在坚持用啊,宽宽坚持在用是吧?啊那你们也可以试试啊,模仿,当然这些都是老牌的SS客户端,这些都是老牌的啊,尤其这个CCRT,我很多年前一。
71:50
用这个啊,这些年开始用叉10MOBILE,这都试过,还是叉十功能很强,主要它是个套件,它里面还带有我们什么X manager啊,其他的工具,它不不仅仅是光它,所以它是套件好用。
72:12
好,这是咱们刚才给大家说的这个工具啊,这是linus里面带这些,这是图形Windows里带的S客户端,实际上Windows里面有没有命令行的SSH工具呢?有没有这工具啊,有的同学们直接可以连的啊,这个地方要指定用户名,你要不指定用户名,他默认是以当前王就DMI的身份去连了,你看这个地方它你要你要不写用户名,他这个地方他认为是以谁的身份连的,你看是不是MR的10.8的用户了,我这那所以我们这要写个用户名。怎么这么慢?
73:08
啊,你看连上去了是吧,所以Windows也带这个客户端命令SSH啊,直接就用,所以你直接你如果说临时用的话,连装软件都不用装,直接拿这个可用啊,那么作为S材质的客户端命令呢,它有很多的选项啊,有些选项还是很重要的,那这个我们休息一会,待会详细给大家介绍。
我来说两句