00:00
好了,那我们刚才已经介绍了SSH的很多功能啊,那对于SSH的服务来讲呢,它也有自己的一个专门的配置文件,那么有些地方可以适当的做一些修改,呃,从而进行一些优化啊,包括安全方面的一些这个优化,那SSHSH的这个配置文件,它分客户端和服务器端啊,关于这两个配置文件,他们都是存放在ETCSSH这个目录下的啊,所以我们现在可以在这个目录下去找一下这两个文件。那这个我们相信大家记得一个带地,一个不带地,带地的是服务器端,不带地的是客户端配置文件,那我们上次呢,已经给大家介绍了客户端的配置文件,那我们接下来看看服务器端,那服务器端这个文件S2D comve,那么这个文件里面大部分的设置一般是不需要改的,不过呢,刚才我们曾经改了一项,大家记得吗?这一项就打开网关功能,记住吧,啊,这个就是网关功能啊,这个不打开的话,它那个呃,远程的端口转发,它不允许你打开啊,这里面呢,很多设置默认值是不用动的啊,当然有些地方可能为了生产的安全需求,我们可能要去改,比方说端口的情况,默认的22端口,但是如果你将来放在互联网上,哎,大家很多同学会买虚拟机啊,那阿里云啊,腾讯啊,华为云买一些虚拟机,那虚拟机呢,这个端口一定要改一下,不改的话呢,你就会。
01:39
收到大量的黑客去暴力破解你的口令啊,所以呢,这个端口啊,大家记得我是改了是吧,我改成了9527的啊,你们自己也改一下,那这个端口改的话很简单,就把这行对应的注释取消,然后呢,把这个地方的端口一改就可以了,非常简单啊,比方说我们改成四个二,那就这就可改完了,改完以后呢,重新启动一下服务就可以生效了啊,我们来看一下端口,这就改了,当然这时候改了以后远程要连,那你就得输入这个新的四个二端口才能连了啊,要不它连不上去了,哎,这样才能连,这样才能连好,这就是这个端口啊,你们买虚拟机的同学。
02:28
建议大家赶紧改啊,赶紧改。啊,另外如果你的电脑上有多个IP,那么如果你只是希望某一个IP的四个二端口能连接别的IP地址,不希望能够被用户通过S协议连接,那你这也可以指定监听的地址,那监听地址写上你希望能够接收远程连接的IP啊,当然前提是你的机器上有多个IP啊,那比方说有些企业里面,它有一个是外网的IP,有一个是内网的IP,那么外网的IP我不希望接收这种SR连接,那你这时候你就可以把这个IP地址指向你内网的IP,这样的话呢,内网的IP的二十二二二端口才能连接诶。
03:14
那这些呢,就是我们那个所谓的私钥的这个路径,私钥文件存放路径,它有一个尝试过程啊,如果支持这个就走这个,不支持走这个下一个啊,它有一个尝试过程,那其他的呢,我们啊,包括SSH,它在连接的时候,它的这个登录啊,包括一些服务的这些信息是会记录在日志里的,那记录在哪个日志里呢?记录在这个叫o prime这样的一个日志里,这个日志呢,实际上就是这个文件,主要是这个文件,这个文件记录了就是我们和安全相关的日志,也包括SSH啊,你看如果有人在通过S这连接它,它的日志里面就会有显示,比方说我现在通过六来登录一下当前的机器啊,啊,你看现在呢,日志。
04:08
我们去看一下它有没有变化。八的机器啊,前面我得加端口,因为我改了这个端口了啊,那么这时候一连你会发现这个日志里面就有记录了,看这是不是有啊,说十点点六通过什么什么端口连接我了,验证通过成功了。那所以这个是有记录的,那这个有记录的话呢,还有一个问题就是如果你失败登录了,比方说密码敲错了。失败登录了,那他也会有记录,那比方说我敲错的密码回车,这时候这个密码敲错了,敲错以后呢,你看这儿也有错误登录上面。那将来这个东西干嘛呀,你是不是可以分析呀,说哪个黑客猜我密码了。对吧?哎,你是不是就可以把这个文件中的这个失败登录的这个地址拿出来,这是不是就有可能是黑客的IP地址,对吧?猜你的密码吗。
05:13
啊,猜你的密码。所以同学们如果说已经把虚拟买好了啊,你可以看一下这个文件了,看看这个文件里面有多少行出现field password这样的字样的啊,你们可以看一看。估计是你买了一段时间以后,如果不改端口,你会发现这个password会非常多啊,非常多。那就过滤这个关键字就行了,你就过滤这个文键字,Break,过滤这个关键字,然后对这个文件进行过滤,你看我这有三行,说明有三个三次敲密码失败的情况发生啊。
06:00
有找到多的同学吗?可以分享一下看有多少次啊。啊,我那个机器应该是做过设置的,所以我那个机器应该没有什么特别多的黑客猜密码,我也可以看看。好,我看一下,我就执行一下这个命令。他一个都没有。啊,当然这个里面应该是有成功登录的信息的。
07:22
而只有成功登陆的信息。啊,刚才以root身份远程登录,这是我登录的IP。他这个是每个隔一段时间大家注意到它会生成一个新的文件来存放之前的日志,所以呢,我这里面找不到,可能是因为它生成新的文件了啊,你过滤一下。看这里面。啊,实际上也也有一些也有一些啊,这是之前发生的啊。
08:03
多少行啊,统计一下是多少行啊,失败的。哎,你这个黄同学这个名字叫什么,怎么没有改原名啊,这个是新来的同学吗?这个名字写汉语拼音混着写的。写上你的真实名称啊。好,那这是刚才我们看到的这个日志啊,在这这个记录就表示我们要记录在咱们的CQ那个文件里面,还有这一项,这一项呢就是允许root登录,那当然你要变成no的话呢,那就是root不让直接登了。那事实上乌邦untu相信大家应该知道,乌邦tu默认U邦tu是不允许root登录的,为什么?就是乌邦tu里面这写了个no,所以你把乌邦untu这个地方改一下,那root就可以远程登录了,就这么简单啊,还有这什么其他的在什么要尝试是尝试验证次数六,所意这个尝试验证次数六呢,说的是什么意思呢?是这个意思啊,说的就是那我们当我们去登录的时候,它会有一个登录的次数,第一次登录失败,它不会给你断开,第二次登录不会断开,第三次登录才会断开,那就是给你了几次登录的次数,这个登录次数呢,我们可以通过这个你可以看一下,你看这不是一次嘛,你看是不是三次机会呀,断开了,那但是刚才有同学说,那你不是写的是六嘛,那六的话呢,实际上。
09:53
写的六是最终取的是它的一半,取的一半的值啊,这个官方帮助里面写的很清楚啊,S是D啊,你搜索一下这个验证,你看这写了。
10:10
啊验证,然后这写了一个叫half,看到没。就是到它的一半的时候,它就会断开。啊,默认值是六,这它的默认设置啊。啊,这个官方都能查的啊,实际上这些功能你都可以来查,你来看。好,呃,这个是最大会话次数,那就是他说的是一个连接的最大次数啊,这什么叫一个连接呢?就是我和对方已经建立连接了,建立连接以后,在这个同一个连接下,我去最多建立的绘画,比方说我这是一个窗口,这是一个绘画,我在在同一个连接的情况下再复制一个,这就是新的窗口,这叫新的会话,但是连接是一个,那我这个怎么去验证这一点呢?非常简单啊,那我们可以这样来看,我把这些多余的先关一下。
11:26
好,大家看当前这个home,这呢,呃,我们去用SS命令看一下,你看我现在是不是只有十点那一和八之间有一个连接,那这个连接就一个,但是我是俩窗口,这就是两个会话,也就是说一个连接它有多个session,多个会话,你看我又开了一个,这时候还是一个连接,那什么叫新连接呢?那你这样点,你点这,然后双击打开,这就是新连接了,这时候呢,这又增加了一个新的连接,诶怎么连不上去了。啊,端口改了是吧,端口改了啊,那我们把这个端口恢复一下吧。
12:12
好,那现在我看一下有几个链接啊,一个链接,然后我再开一个,这时候呢,就是第二个链接了啊,这时候你再来看两个连接,那么他刚才说的这个mask session这项说的就是一个连接里面多少个窗口,多少个会话是这个意思。另外呢,这还可以支持基于K验证,默认是基于K验证支持的,那如果你把这一行删了,那就不支持K验证了,那另外呢,我们这还有什么允许不允许空口令登录,那一般来讲建议把这个no设上啊,因为空口令是不安全的,还有就是基于出传统的用户密码验证,那这种方式呢,建议工作中可以考虑把它变成no,变成no以后呢,就是你要登录就用传统的基于用户密码是不让连了,那你就用什么基于可验证,基于可验证不更安全嘛,反正也不用敲密码,又设好了又省事,对吧,当然你要保护好私钥是吧,保好私钥啊,他这个是网关,刚才网关我们试过了啊,就是能支持那个远程端端口转发那个,然后这个是呃,它的连接的这个活跃时间,那么当我们用SSH连远程连接上去以后,如果你迟迟不去做任何操作。
13:35
他认为就是非活动了,比如说你看我连到这个机上一直也不动,一直也不动,也不敲什么命令,这时候就变成了一个非活动状态,那么什么时候变成非活动状态,它就给你断开了啊,那它是什么条件下它会断开呢?断开连接呢?诶这边它有一个两个值,一个是11个是三,那就是每隔十秒钟我探测一下是不是在活跃,十秒钟不动,我就一次失败,就是一次就不活跃,连续三次,也就是30秒,那你要是不动,那我就认为你是不活跃了,我就给你断开了,这个意思啊,这样的话呢,比较安全啊,还有柚子DNS,这个是为了把你的IP地址反向解析称名称,比方说我去通过SSH去远程连接,远程连接的时候,因为我这个地方是通过IP访问的,那么通过IP访问的话呢,那么远程的服务器,它会尝试的去把IP地址反向解析成名称。
14:35
那这个如果DS它这个没有没有配置。正确的DS解析,这时候就会有一个等待的过程啊,实在连不上,实在解析不了了,最终他也会能给你,让你成功连,但是这个时间会比较久,所以呢,这一项如果你将来想加速你的SL连接,可以考虑把这一项把它关了。还有这一项是我们用的不太多的一种身份验证方法,这种方法也会影响咱们的登录速度,所以如果你要想提高s Sha的登录连接速度,把这两项都打为now,这样的话你的速度就非常快了。
15:15
我不知道有没有同学发现你去连接SN远程机器不像我这么快,你看我一回车马上就出来。是不是有些同学在那等等,等了十秒是吧,才出来,那就是你们没有做过优化,这是被我改过了,我这个是改过的啊,所以我这个地方默认就连接比较快,你看我这都改过了,你看我这个DNS这个地方我都是改过的啊,改过的那我这个机器是做过一些简单的优化的啊,所以我连接就比较快啊,所以这两项建议大家把它都设成为no。啊,然后这个有一个最大连接,就是我连上以后,我不输入用户名密码,那就是没验证的,没验证我最多支持多少个连接,对吧,这设设置一个值,然后设置是默认十个啊。
16:02
然后呢,这个呢叫登录的提示信息,有点像咱们以前说的那个什么Mo TD Mo TD是不是登录前那个提示啊,啊就是MT登录后提示啊啊E是不是登录前提示,这个是登录前提示。登录前提示就是S连接的时候呢,他会给你一句话提示,那就可以把这个提示的这句话写到文件里面,下次登录就会提示你。另外呢,我们如果想控制谁谁谁能连接谁不能连接,默认SSH是允许所有的合法用户账号来连接的,我们也可以通过加上这两项叫allow user和deny user来控制用户的访问,Allow呢就是白名单,那deny呢就是黑名单。那如果写了白名单,那就意味着只有这个列表里写的用户才能连接。对吧,那么deny user呢,当然就是只有是在这个列表里面列的人才被拒绝,那黑名单另外还可以设置组,那无非后面跟的是组名而已啊,比方说G1G2啊,写的是组名,知道吧,G2是组名啊,一个是组的黑名单,一个是组的白名单,就这意思啊,所以这个设法呢,嗯,比较容易理解,那比方说我们现在不想让某个账户用SSH连接我,那我就可以把它加上啊,比方说我加一个deny user deny user呢,就是拒绝谁访问,那你看我现在用默认的这个这个。
17:37
王账号应该是可以连的,我这写王账号,那我用王来连,输yes,你看输他的密码,你看可以连接,那现在我希望王不让连了,那怎么办呢?非常简单,加上一行就可以了,叫deny user,王这样的话呢,就连不上去了啊,连不上去了,那我们重新启动一下服务,然后你再看一下账号,它就连不上去了。
18:07
啊,当然他这个连不上去呢,在这个日志里面应该也有记录啊,你看这个地方它是显示是无效的用户,看到没有无效的用户,嗯。他和这个密码敲错了,它显示是不是一样的,假如说我们这用马哥,马哥呢敲错密码了,这是密码错误,不是说那个不让登录。啊,他这还没有没有没有记录下来。再看一下。这有啊,你看它这个就是无效的密码,它没有显示无效的用户,所以这不一样啊。那你要是把黑名单白名单都加进去,谁生效呢?这是故意想想想想想冲突是吧,那如果冲突了,当然这个东西你测一下啊,这个东西看一下user王就王既在黑名单里又在白名单里,你猜猜你们猜猜谁生效吧,白名单生效是吗?
19:21
我也不知道啊,看看。哎,真的登不上去了。黑名单生效了呗,我敲敲的密码应该是敲对的啊,那看来就是你把它都写进去的就拒绝了。黑名单生效了啊,黑名单生效啊,这个东西当然你不会刻意的这么输的啊,这个是属于故意冲突了啊,注意冲突了安全啊,这个不同的软件它策略策略不一样啊,这个东西自己试一下就行,好,这是刚才给大家讲的SSH啊,这里面有一些建案案例。
20:10
那乌帮兔里面我们要允许入登录,需要把它人为去改掉的,默认它是这行是禁止以入的身份登录,以密码方式登录啊,把它改了以后就允许了。改成这样的yes。那么对于SSH来讲,因为它是一个我们互通,可以说Li是一个标配的服务,他就是为了让我们远程的运维工程师连远程连接远程管理用的,所以呢,SSH它的这个安全性一定是要保证好的啊,保护不好那你的系统就容易被黑掉了,所以呢,我们这里面有一些安全建议。啊,比方说不要使用标准的22端口。当然这指的是我们企业这个。公共网络中,如果你在公司内部,那这个就好多了啊,比方说你在服务器都在机房里面,不在公共网络中,这个呢,你标准端口也无所谓。
21:10
协议的话呢,Prooc版本一已经淘汰了,这就不要使用了,然后设置哪些人可以登录,哪些人不可以登录,设置超时时间,这个超时时间刚才我们看到了,这里面是有一项可以启用的,然后这一项我这样设完以后呢,就意味着60秒不动它就给你断开,60秒不动就给你断,那这个可以试一试啊,比方说我们故意的试一下,这个是60啊,I leave travel inter travel,那这个试的时间短一点啊,我们试的时间短一点。那这它有一个默认值,默认值这个travel interval啊interval这个比方设个30,这个是个零零,那就是30秒不动就断,30秒不动就断,30秒不动就断,好大家看着啊,我看我30秒不动是不是断。
22:16
这是20秒,20秒。哎呀,过一会不动就断了,当然我这个地方设了一个那个自动自动重连,所以断了以后它也会自动重连啊,自动重连。当然这个地方应该是对旧的连接不起作用啊,就是说你必须关了,刚才忘了按这个把这个窗口关了,重开一下,你要是新的窗口才起作用啊,旧的窗口是不起作用的,所以你不要在旧的窗口里来测试,一定要新开一个窗口。新开一个窗口才起作用。哎,你看这个30秒不动,它是不是会断。
23:11
但是大。断了吧,断了它我这里设了一个自动连接,所以它又连上了啊连上了啊,这就是呃比较安全的一种方法啊,也时间不动它给你断啊,并且设置S的访问策略,那这个通过防问墙配啊,比方说验定呃设置说只允许特定的某个IP连接是吧,别的IP无关IP不让连,然后只监听。只允许通过特定的IP来访问,设置安全的密码啊,这个密码呢,我们之前讲过什么,设置一些什么随机口令,位数够多长啊等等都可以,这个命令也是个例子啊,这个命令。
24:09
DK验证,禁止使使用空口令登录,禁止root直接登录,那限制S的登录次数和并发量,这个呢也可以通过防火墙来控制啊,然后经常分析咱们刚才说的那个Q那个日志,看看是不是有一些安全风险,这些呢都是SSH的最佳实践好。那接下来呢,我们来看一下SH的其他相关的一些第三方工具,那么作为SH来讲,还有一些丰富的工具啊,比方说这个工具,这个工具呢叫SSHFS能做什么事情呢?它能够让我们利用这个工具来把远程的某个文件夹挂载到我的本机。哎呀,挂载到本机带来的好处就是我访问它就跟访问我本机文件一样了,哎,这个好啊,不过呢,可惜的是这个思路八还没提供啊,当然那是之前的啊,不知道现在提供没提供,装一下试试吧,万一八又装上了呢?
25:16
还真的没提过是吧?那我在砌上来装吧。好,我把这些系统还原一下啊,前面做的实验都不要了。这个七。你们那个环境做实验,每次尽量找保持一个干净环境啊,这样的话省得受之前的实验的影响,有时候就是因为一个小小的环境问题,导致你实验做不下去,浪费时间。
26:11
大家有没有这种感受啊,有吧,哎,你看我就是养成好习惯了是吧,每次来上课都是先把环境先恢复一下,嗯,咱们上课是为了目前啊,目前没有必要在这方面去,呃,花花更多的时间啊,没有必要,好了,那刚才我们在七上来装一下这个软件啊,七上装一个软件,刚才在WINDOWS8上面它没有这个包,那我在七上来装。那七上呢,我们看到它是有这个包的,它是来自于一票源的啊,这个好理解啊,一票源它的包要多,呃,这个EP源里面IPO list,人家这个包有多少,一万多个包啊,这个渗斗七上一一万多个包,呃六上面。
27:18
呃,这个八的上面应该很少。应该是几千个吧,应该达不到几万个,但是他这个呃,自动八上面现在已经不再显示那个包的数量了,那我们说过怎么显示包的数量来着,有什么方法来着,是不是有一个V的选项啊。大。哎,这不有吗?你看一票员才6000多个包,看到了吗?6000多个包你加个V就行了啊,加个V。
28:02
我。嗯,诶用DF可以是吧,DNF好,我们用那个df re po list看行不行,这也不显示啊,你那能显示是吧。这是八的信息系统啊。你这个啥版本啊,欢欢你那啥版本啊。版本啥版本8.1的那不一样,你这你那版本太老了,我们用的都是新的,8.2的,8.0的也有啊,8.01我记得也能显示,就8.2好像不显示了,原来都显示来着,就版本之间还是有差别。
29:05
好,那刚才我们给大家说了一下这个这个工具啊,这个工具我已经在神豆S7的上面装好了,装好以后呢,它可以提供这个一个挂载功能啊,我们来看一下这个包,它里面携带的工具,那这个工具就一个叫S3FS,它能够把远程主机的某个指定的目录挂载到你本本机,你看这个命令写法就这样子写啊,这个写法非常简单,就是把远程机器上的data目录挂载到我本机的mnt下,诶敲密码有。小密码,诶你看挂上了,挂上以后呢,我们怎么知道挂上了,那D看看就知道了,看挂上了吧,挂上以后是不是就意味着我在mnt下建一个文件,是不是就是相当于实际上是建在了八的data目录去了,那我们来看一下data目录是不是有。
30:08
有了吧,这是不是很好啊?哎,你用起来不就跟本地文件一样吗?对吧,就是挂载挂载。啊,这就是这个工具的用法。好。那接下来我们说过这个命令了,这个命令已经讲过了,就是s pass,它可以在SSH网络中需要走这种协议,提交什么用户密码的话呢,你可以用s pass帮你把这种交互式的密码提交变成非交互式方式啊。这样的话可以在脚本里面实现,我们用它曾经实现过JK验证啊,传输这个K的信息啊,这个实验呢,我就不做了,因为咱们讲过了这个工具啊,下来你们可以这个脚本,这脚本都写好的啊。
31:07
这批量的部署随机口令啊,哎,有同学说这个脚脚本执行的时候,你们那是不是出错了是吧。找到原因了吗?刚才有同学说。就是那个大楼那个什么呀,就是那个打叶子。没有加杠哦。啊,这个地方忘了加了是吧?啊,这个地方忘了加那个杠O了啊杠O的话这个要加啊,就把这一项也加上这个,这个这个脚本忘了加这个了,这个加上。这个加上这个脚本有欠缺啊,把它加上。家够。呃,看看下面这个是不是也要加。只要是涉及到这个都要加。
32:02
加一个go go street hold key,这个因为你第一次连,从来没有和对方连过的话,这个yes它是解决不了的啊,必须要加这一项。下面这个例子里,下面例子里都有,就上面那个第一个例子没有啊,这个加上港O啊,加上港O。长。好,这是给大家讲的这些功能,还有一个工具,也是一个轻量化的自动化运维工具,叫psh,这个工具它能够让我们做在一个机器上,自动的来实现多个主机的自动化管理。不过这个命令呢,在圣斗S8上面是也是不存在的,看一下有没有PSSH这个包,诶有了,但是看来增加了,之前没有啊。
33:13
哎,那现在可以取掉这句话了,原来是有的,原来是没有的啊,也就是我们孙S8上面逐渐EP源里面增加了一些东西啊。那这个这些工具呢,它是用Python实现的,可以让我们不需要做什么特别多的配置的情况下,就可以远程的管理目标多个主机,这个像工具呢,功能比较简单,它可以应对那些小公司,比方说公司里面就十来台机器,二台机器。啊,那么机器不多的情况下,实际上我们也可以不用搞那些复杂的一些大的软件啊,搞这个简单一点的就可以批量的管理,比方说我在所有的主机上批量的改密码。
34:04
那以前的话没有这些工具,我们前面学过的命令是不是只能自己编个循环来做,那这个命令呢,就非常简单,它可以批量的就可以把你要管理的这十来计件的机器自动的做一些设置,非常方便,那这些工具呢,有很多啊,是其中一个,还有这些工具,这个工具呢,你们有兴趣可以试一试,那我们今天给大家演示一下这个第一个工具叫psh。那这个工具呢,我们先要安装一下,因为刚才三八上也提供了啊,所以我现在就可以装了,以前是没有这个工具的。啊,给它装上了,装上以后呢,我现在手上有有六的机器,也有七的机器,也有八的机器啊有好几台机器,那现在假设啊,我想远程的在这些机器上做一些管理。那么我们就可以在八机上运行这个psh这个工具来实现批量的自动管理了,那这个工具呢,它是用Python写的,那大家看这个程序主要是在它在这个地方,那我们看一下这个Python。
35:13
是不是Python写的,大家看你看Python代码实现的啊,好,那这个工具的用法呢,是这样的,我们通过案例来给大家说啊,这个工具呢比较简单,它适合于小公司,因为大部分的咱们同学工作以后,不一定你上来都是特别大的公司,可能机器也不多,就是小公司,你用这个工具还是比较适合的。那么它的命令用法是这样的。呃,可以通过指定主机。指定主机在目标主机上执行命令,那么这个时候呢,默认情况下是基于K验证的,就是他要求你要远程主机执行命令,要基于K验证,那如果你没有基于K验证,它这个地方需要加个杠A,用传统的用户密码验证。你像这个命令呢,就是在远程的主机上执行一个叫后内的命令,但是呢,由于我们默认情况下,在对方主机上没有基于可验证,所以这个杠A是要加的,你要不加的话,那就不能执行了,你看。
36:14
现在呃,待会我这把IP改一下,我IP改成比方说十点点七那个IP,这就是这个命令,就是说将来在10.7上远程执行的后内命令,大家看连接失败,为什么呢?因为我和七之间没有基予可验证。啊,那么你也可以加上杠号A-A的话呢,就要手工输密码了,你看输入七的密码就。成,哎,他这还报错了。他说什么退出失败,我再执行一次啊。还是不行。Name-a name。那这个是版本之间的差别吗?我在这边也装一下吧,那这个八是刚装刚有这个工具啊,八上没测过。
37:08
好,那我在七上来把这个命令执行一遍。啊,那待会这换成八的机器,输入八的密码,诶成功了,那看来这是版本之间还是有一定的兼容性啊,那那我就在七上演示吧,在八上面同样的命令执行有问题。成功,但是成功成功,它好像并没有显示内容是吧?啊只是说呃,成功了,那那个后面执行没执行啊,它没有显示结果啊,没有显示结果,这个显示结果呢,实际上它默认不会在当前屏幕上显示啊,那你要想显示的话呢,你加个AI的话呢,就是把那个信息在你当前屏幕上输出,你不加A的话,它不显示,所以这个地方加个I,哎,再输入对方的密码,大家看信息就输出了。
38:00
啊。那当然我们现在是一台机器,那如果有多台机器呢,比方说我这儿还有10.0.0.6,这两台机器都想执行,这时候他让我输密码呀,这个问题是让我输的是谁的密码,他没说,那我就当然这两个机器的密码是一样的啊,现在这个这两个机器密码是一样的,所以呢,诶我们看到这个这个六失败了,八成功了,六失败了,八成功了。啊,那我看看它是不是这个逗号,隔开的两个主机就是这样的,那现在我光执行力我看看行不行。他说什么?六。RSSH验证K不能建立。啊,对了,知道了,那么这个命令呢,要执行有一个前提,就是先和对方必须连接过,也就是说超过yes no以后才行,你要没超过yes no,这是不让执行的啊,所以你看我现在和六之间是从来没有连过的,所以这个叶斯诺还没敲过,我还没有拿到对方的公钥,而七这个这个和七之间和八之间为什么可以,因为它已经连接过了,那刚才这边是不是也是因为这个原因啊,我们来测一下。
39:18
那我这个七我去看一下七是不是从来没连过啊,那我敲一下,敲完以后,那我们再来试看看这是不是就行了啊,那行了,那刚才可能还就是忘了敲yes no了,就第一次你必须敲,所以这样的话呢,这个呃,你要确保第一次把这个yes no先确定了,也就是说事先得拿到对方的公钥,这个命令才能执行,否则的话呢,他是不让执行的啊,当然这个方法我们也说过了,这个第一次我不想敲,叶斯诺100台机我都调节,那太麻烦了,我们说过一种方法怎么做来着,是不是我可以改配置文件呀,在这个配置里面有一项是可以加上的,这样的话呢,我们就可以不用去。
40:01
实现了这一项吧,限制,把这个变成no是不是就行了,这样的话就可以了,哎,这样就可以了,你看我现在和六之间从来没有连过,六之间也从来没有连过。你看它可以了啊,然后现在在六上执行看看行不行。输入他的密码,哎,可以了啊,但是这个方法呢,有个缺点,就是我每次都得输密码,而且呢,我们这输的密码到底是谁的密码,那我们现在有两台机器啊,那这俩密码是一样的,所以呢,这个蒙对了,那万一密码不一样呢,比方说我们现在故意的把密码给他改成。Eo这个给他改成这个这个呃,123456啊,让他和七的密码不一样,密码不一样,那密码不一样的话呢,你在这去连你输的是123456密码,还是七的那个马克伊顿的密码啊。
41:15
你看那他只给你一次输密码的机会,也不能那俩密钥不一样的不行,所以这种方式呢就很不好用,所以一般来讲呢,我们都是基于K验证,那基于K验证呢,这个岗位就不用加了啊,那基于K验证我们说过怎么做来着。先把这个GP验证实现了,然后是靠背ID是吧?哎,把它连接到七上,把公钥拷过去,然后六也是。把公钥跑过去行了,那这样的话呢,咱们就可以不用再输密码了,那这样的话,这个A就用不着了啊,这就可以了啊,A是输密码方式。
42:04
当然这种方式是我需要每次把要管理的机器跟在后面,那这个显而易见是并不方便的,所以我们可以把要管理的主机放在一个文件中,比方说你企业里面有呃50台机器,你可以用这个文件的方式把他们进行一个组合啊,分分类,不同的文件放不同的主机,然后呢,我们用PSCHSH,这后呢用小H就可以了,小H后面跟文件,然后再执行你要执行的命令,比方说我们就看看版本吧,看看read release。哎,他就没有输出信息,我们加上个A,加上个A好大家看是不是成功了。对吧,这样的话呢,我们远程管理主机是不是也挺方便的。那比方说我将来想把每个主机的这个上面建一个新账号,那我们是不是就可以这么建了,比方说我们建一个啊,呵呵,账号吧。
43:09
看是不是建起来了,那建起来以后我验证一下是不是能真的有啊,Get int pass WD,呵呵。看真的有吧,真的有。你看这个是不是就根本不需要我们做什么配置,可以说很简单就可以批量管理了啊,一二十台机器用这个工具还是挺简单的,挺简单挺方便。啊,当然我也可以在远方主机上装一些软件包行不行,比方说我对方的机器上统一的装啊某一个软件啊,装一个啥呢,我先检查一下吧。呃,装这个。慢慢开吧,这个软件包装没装。哎,他们既然都没装,那都没装,我就装一下正好,那就装一下,用这个命令去装。
44:20
这是在漆上装。啊,这个光盘有问题。光盘有没有挂光盘啊,这个是。啊,这没有挂光盘70应该是可以的。七可以这个八这个六这没有挂光盘。把它连一下。
45:06
重新做个拍照。好,然后呢,我把刚才那个啊重新恢复了啊,所以我还得重新考一下copy ID。好,这样行了,好,那现在再来试一试。那这个七刚才已经装上了,所以它不会再重装了,而六的话呢,你看装上了,装上以后呢,再验证一下,你看这个包就都有了,你看我装软件呀,将来起服务啊,是不是都可以用这个命令,一条命令搞定了啊,比方说它上面确实是个服务啊,我可以把它用这个命令把它启动起来,Service把这个服务启动起来。
46:07
啊起来了,起来以后呢,我们怎么验证他们的端口是不是启动了呢?那我们可以用这个看看端口,端口呢,它是11211的端口看起来了。大家想想这个工具是不是挺方便呀?基本上小公司用它还是可以的,嗯,也不用编什么循环了吧,以前的话不是咱们边循环嘛,是吧,现在用不着边循环,一个命令搞定了。嗯。那另外呢,我们还可以在里面使用变量,比方说我们就显示这个远程主机的主机名。那这个我们都知道,变量的话呢,是有一个叫Dollar name,它来显示主机名,但是呢,可能有问题。发现了吗?
47:01
它怎么显示的都是我自己的机器的主机名啊,对不对,哎,这中间就有问题了,那这个问题怎么解决呢?那我们如果用变量一定要用单引号引起来哦。啊,双引号不行,双引号你看双引号,用双引号引起来,这不行,用单引号引起来。看行了吧,啊,所以这个都是细节啊,大家注意一下就行了。好。呃,通配符星号也需要用双引号或者单引号引起来啊,这个也需要啊,比方说我想显示ETC下的啊,这个这个root下吧,Root下的所有文件。你要这样写,你看它就会报提示错误了。那所以我们加上双引号引起来,哎,这样就可以了,看到吗。
48:06
所以这个有的时候需要加引号引起来啊,这也是需要注意的地方,另外呢,我们这儿还有一个工具,里面携带的一个命令叫pcp.psh。这个工具呢,也在咱们的包里面,也在这个包里面,它是属于这个包的,大家看这有一个叫pscp.p。还有这些工具,那这个工具是干嘛用的呢?PCPSCP不就是拷文件吗?对吧?SCP不是拷文件吗?它的作用就是将你本机的文件复制到远程主机。那比方说把我本机的一个脚本复制到远程。那你像我现在就想在远程的主机上执行一个脚本,那这个脚本我写一个叫test sh,这个脚本就是显示你的主机名,那这个脚本呢,我们现在想让它运行在七和六那两个主机上,但是由于对方的机上它没有这个脚本,所以我直接去执行,这是不是就有问题了,你这样执行表示的是是不是会运行,但是六和七人家那两台机上的root下T,人家没这个文件,是不是就运行失败啊?
49:29
嗯,那我们要想执行怎么执行呢?那我们是不是说过一种方法,还记得这个方法吗?这个方法是不是就可以了啊,不过呢,它这显示的没有显示出来具体的结果啊,只是成功了,只是成功了啊,没有显示出它的一个输出结果来。那现在我们想把这个脚本拷到远程机上去执行啊,当然这个我们也可以这么写啊,比方说我们把它输出到一个文件里面,看能不能行啊,输出到一个比方说叫temp下啊,就是一个PSSH的log文件啊,然后呢,我们再执行一下,执行完了以后成功了,那我们验证一下它是不是能成功,就是tab下的PSHSH的log呀,你看。
50:22
写的写的有问题吗?PSSH的log好像没生成吧?那我们明明是写了这个的,但这里面我们看一下,看不下有没有这个文件,还真没有啊,真没有,所以呢,这是有问题的啊,这种方法看来不适合于我们这种场景了,那不适合于这种场景,那我们就把这个脚本复制到远程主机,然后让它执行不就行了吗?嗯,那么复制到远程主机怎么复制呢?我们不用编辑循环,用这个命令就可以了,叫pap.sh,然后这个命令呢,后面跟上你要复制的文件里面到底复制谁,那后面呢,这个呢就是。
51:05
你要复制的本机文件,然后再往后就是要复制到远程机械的哪个目录下,听了吧,哎,这就是这个意思,那现在比方说我们把它稍微改一改,我把我本机的这个T文件,T文件复制到远程主机的,比方说data下吧。复制到远程主机的data下,诶复制过去了,复制过去以后真的成功了吗?那我们验证一下吧,看看验证一下LS。这应该用的是psh。好,大家看复制过去了,复制过去以后呢,紧接着我们就可以来执行它了,那复制过去你要执行的话,是不是就直接写路径就可以了,那那就是直接写这个贝塔下的test sh,你看能不能执行,那成功了,成功了,那我们现在看一下,刚才我们希望在temp下生成一个PSSH的log文件。
52:11
这个应该是在远程执行啊,你真的成功了吗?这样的不就行了吗?那我们就可以在远程主机上批量执行程序了啊批量执行程序。好,这是psh,呃呃,复制过去以后,它还实际上还是可以进行这个改名的啊,就是你这如果你后面跟上这个文件是改名的,它也是可以的啊说我复制过去改名,我不叫原来的名字了,这个也行。那这个呢,就是后面跟上你要改名的名,比方说我叫二,那复制过去改名啊,复制过去改名,我们来验证一下是不是真的改名了。
53:08
你看改名是吧,也可以不叫原来的名字啊,当然我们可以把远程的,把本机的文件复制到远程,反过来我把远程的文件是不是也可以复制到我本机啊,诶它也是可以做到的,那么我们假设我复制到data下吧,我这data空的,哎,这里面有一个文件把它清清空。啊,我把远程的文件复制到我本机,那怎么做呢?需要用另外一个工具,用另外一个工具,那咱们刚才装这个包的时候,它里面有好几个工具,其中还有一个工具这个。这个工具呢,它可以把远程的文件复制到我本机来啊,这个比方说尤其把远程主机的日志抓取到我机器上来分析啊,这是可以的,那这个怎么做呢?我们可以用这个命令,这个叫PSLP。
54:02
那这个命令可以来实现啊,这边有一些小案例啊,你可以参考这案例。那这个案例呢,作用。详细的语法,这个是它的详细语法啊,这个详细语法比较长啊,咱们先不看这个详细语法,直接看例子啊,直接看例子。那这个下面的例子我们来看一下。这例子呢,就是把远程机器的文件复制到我本机,并且改名叫新名。这个意思啊,你看这个命令是这样的一个作用,那我们来试一试啊。那这个命令呢,就是读取这个文件里面的主机列表,把远程主机的这个data里面的,呃,把远程这个文件复制到我本机的data下,并且改名叫V。
55:04
哎,成了成了以后呢,大家想过没有,它都不知道对项会产生什么问题。大家都复制过来都叫官,那那你是不是最后到底存谁呀?你都叫官子,不是打架了吗?对不对?哎,事实上大家不用担心,你看他怎么做的。是不是好聪明,你看明白了吗?它自动的加了一个IP,不就区分开了吗?啊,当然咱们看一下吧,是不是真的成功了啊,那看一下啊,这个是10.6,你看它里面的version是不是就真的是六版本的啊,这个七是不是就七版本的,看见没行了吧?啊,这不就行了。所以这个工具你还说,虽然说小吧,也主要是简单啊,啥也不用干嘛,基本上不用什么配,你拿过用就行了,所以小公司可以拿过来用啊,以前咱们有同学去单位这个这个同学工作了有几年了呀,感觉有三四年了吧,四五年了啊,结果他们公司一换来换去都是小公司,那机器就不多,就是个二三十台机器,他老在小公司混。
56:14
工资也上不去,一万五块钱,15000块钱这样工资。你跳槽你得稍微奔大一点公司啊,这样的话,你见到大环境的话,你见识广了,将来再换工作,你是不是跟人聊的时候,你说哎,我管过上千台机器是吧,上万台机器你这公司才能慢慢上得去啊,你老在这小公司混,你这个经验是不是积累不起来啊,你要刚开始毕业的时候,大家都差不多啊,工资啊都差不多,1万多块钱分的不不去,分不开,拉不开差距,但是工作个23年35年以后就差距就大了,有些人老是1万块钱上不去啊,有些人就开始两万三万慢慢往上长,这个东西就是看个人了,还得看努力啊,还得继续努力。
57:08
好,那接下来咱们来看另外一个SH的工具,叫比尔。这个SSH系统本身带的是open SSH,就是我们现在用的SSH这个服务器软件,现在我们用的这个SSH呢,是open s sh,那我们之前说过提供SSH服务的还可以用招B招比这个软件它是一个轻量级的S服务器软件,轻量级就比较简单,这是它的官方站点,官方站点啊,当然这个软件因为太简单了,太小了,所以干脆官方也没有做太特别大的这个这个技术的一些这个支持啊,就是没给你做成现成的病包之类的,有这个网站别给挂了吧,这网站是不是不会再维护了呀,哎,还行,还在哟,那界面呢。
58:17
到这儿了。还行,这个这个软件比较小啊,所以呢,他这个作者可能也不愿意花在上面花太大的精力,能坚持到今天不错了,好多开软件慢慢慢慢就没了,不管了,你说也不挣钱是吧,好多人还用,还不给人一分钱啊,你凭什么坚持到这会儿啊。啊啊,最新版是2020版八零这个还行啊,这是6月26号为这个这个生成的这个版本还行,比较新啊比较新这个它没有做成那个啊,对应的这个2B包啊,或者是这个deb包,所以呢,你这个你自己就得编安装了啊,自己编安装这是它的最新版。
59:13
最新版是八零这个版本6月26号。那我们来看一下这个软件怎么大概怎么去编译安装啊,编译安装因为官方没有提供的,我们就边安装边安装的话呢,就是呃,你先去把依赖包装上,然后把这个包下载下来,我这个当时是七八,现在是八零了,然后呢解压缩,解压缩完了以后呢,进来,进来以后它里面有一道和lead me你可以看一下,然后呢,编译的时候呢,Con后面跟上,你要指定安装路径,然后编译的时候make,然后去把它安装一下,这个官方文档里面都有。我看一下这个好,看看有没有下完,这下的快不快呀,连不上去还都断了,你看目标网络不可达,域名有问题了吗?我访问一下百度能访问不可以,那看来就是这个这个有问题。
60:28
看我这下来没有,哎,好像下来了,用Windows下载可以。啊,下来了下来了,那我就直接把它拷到我的电脑上吧。好,拖过来。
61:08
好,那我们按照之前的就是先把那些依赖包先给它装上GCC。和压缩DEMO库,好,然后呢,把它解开,Draw be draw be进到目录里,大家看,这里面有read me,看看read me怎么说的,那这个read me呢,告诉我们说这是一个。简单的小的服务器和客户端工具。然后安装的话呢,它这个比较简单啊,他这接下来告诉你说要实现这个S的话,你要基于K,那么这个K的话呢,怎么生成这边有对应的命令啊,这有命令生成K。
62:05
这是对应生成私钥和相关的不同算法的私钥。那这是need me,还有一个是阴道,阴道里面告诉你怎么装,大概它安装方法呢比较简单,安装方法呢,第一步con,第二步compare编译,编译的话你可以选择编译哪些程序。啊,当然你也可以不选,不选的话就是它默认编译一些程序,安装的话呢,就是这个没给你到默认装在这个地方,所以很简单,或者呢,你还可以怎么做呢,你还可以一条命就搞定,这个也可以。用这个就是你不用这个make到你也可以选择把这些工具给装上啊好,那这个大概我们就知道怎么用了啊,那么就点con,那么看一下它的选项里面,这里面有很多,其中我们主要指定的是安装路径,安装路径我们就prefix指一下就行了,Prefix啊,比方说装在APP下,Draw beer装在这个目录下。
63:16
嗯。今天。啊,这没有错是吧,没有啊,没有的话呢,我们就可以来make make的话呢,我们直接make就行,默认的。你也可以选择性的某些程序进行编译啊,我就直接默认默认make了,然后MAKE1到一装就完了。当然这个地方有一个问题,就是我的机上本身是不是就有了SL服务了,所以你再装个周比尔,是不是两个就打架了呀?啊所以呢,现在大家看这个软件装好了,你看是不是已经有了,那其中这个呢,就是相当于SL服务器,这个就相当于那个SN客户端,这个呢命令就相当于SN我们平常敲的这个命令。
64:16
这个生成K的,这个K先生成啊,不生成K的话,这个服务起不来啊,你看当然我们现在服务起不来,即使启动也不能用22,因为22是被我们默认的open占了,还不能用相同的端口,那这个服务器软件,那我们为了运行起来后续方便这些路径呢,我写到PA变量里。那这样的话,省得我每次写路径了,那这个呢,叫apps下的走B下的B冒号,然后pass,那这个S病呢也可以加一下,如果你不想写路径,你可以把这个路径也加一下。
65:00
叫。好,把它写到一个ETC的配置文件里,点D交beer啊,让它生效好了,这样就行了,那么这个工具呢,它的服务,这是启动服务的,它的用法我们来看一下它的帮助说明,那其中有一个叫杠F-F呢,是不fo到back,就是默认情况下呢,你要不加杠F,它是会back告的,就是后台运行,我们希望前台运行,因为我们刚开始装,我们希望能够探测一些这个它中间的工作,呃,显示信息能够看到一些提示啊,所以我们用杠F。然后E呢,是把错误信息。把这个信息发到错误里面,而不写到日志里面啊,这个尤其我们进行这个刚装进行观察的时候呢,这两个我们建议加上这那另外呢,还有个端口的问题,端口的话呢,我们不能用现在22,我们得指一个比方找一个四个二的端口。
66:11
诶,大家看这就报错了,他说失败的加载什么呢?K刚才说了开来装好以后必须要用K生成K之后才行啊,那生成K的方法,刚才我们在应read me里面实际上是有说明的,大家看这个命令。这个命令呢,就是生成K,这有个DRC算法生成K,这个K路径呢,它默认是从哪找路径找K呀,它是在ETC招变这个东西找,而ETC这个招变文件夹是不是不存在啊,招B这个目录不存在,那我就建起来,然后呢,把这个K给它生成,只要生成一个就行了,只要有一个K就可以。Draw ber,好,把这个RC算法的一个私钥生成好,生成了,生成完了以后,我们验证一下这里面是不是放了私钥,哎,有了啊,当然我们看不了啊,它这个没有用,被六四编码来编,编码好了,那这样的话就行了,那我们现在再来运行一下刚才命令,诶好像可以了。
67:09
呀。啊,可以可以可以,他就是找这前三个找不着,但是就找着一个就行了嘛,只要有一个K就行了啊刚才你看刚才报的时候是不是找这四个K,结果我们是不是有了一个K了就行了,有了K它就可以运行了,好大家看它是前台执行的,前台执行我们现在看一下它的22端口,四个二的端口应该打开了。看到没有,那现在我就可以连了,那连的话呢,我们就可以连它的四个二端口了,SSH-P4个二,注意这时候走的是周ber尔啊,没有用那个open SSH,诶走的是他的那个服务了,诶你看能不能连,诶你看是不是一样的呀,能连吗?诶能连诶当然他这个工具里面,你看他这也记录了,说说谁谁谁连接成功了是吧,这不有信息吗?啊另外呢,他这本身就有一个S是客户端,不过呢,它起的名字叫招比尔client。
68:08
啊,周边的client。叫啥来着,下的周边下的B叫叫DB client啊DB DB client呢,它这个命令的作用就类似于SSH,所以我用它也可以连啊,比方说我们就连一下七,连七的话呢,你直接写七就好了,七你看它能连叫e yes,输密码看连上去了看见没?这不就是S命令吗?啊呀,我们当时编译的时候忘了把那个SCP编译出来了,这没有CP。没有没有CP,那我们就重新编一下吧,那编译的时候我们当时没有用,用的是make嘛,Make它编译,它没有编译那个SCP,那那个命令呢,我们要想编译的话,这可以看一下,他这有那个编译SAP的命令,呃,这个叫什么来着,叫make,呃这这可以指是不是,你看我们当时不是没有指SAP,所以他就没有编译,那我们就指指一下吧,单独把S编一下,这回因为前面这几个都编译过了,我们就不编译了,我们就单独把SAP编一下。
69:17
诶,编辑完了,编辑完以后,你看看这里面是不是有这个SAP命令了。CP绿色的,诶出来了,那然后再MAKE1倒一下不就行了。啊,当然这里面有没有那个ICP的拷贝啊,还没拷过来,那我们这个没根道也得加那个,那阴道里面它也有那个这个这个命令也得也得指定说你考那个看这个了吗?这这也得加。捏了一下啊,当然我们这现在只有ICP就需要了,别的都用不着了啊,这就可以了,Sapp过来了吧?啊,当然这个是他自己的SAP啊,问题是我们现在还有个问题,就是我们自身是不是也有一个SAP,那你现在我敲现在的sapp,你说我是自己的sapp还是招聘人的SCP啊?
70:17
啊,那到底用的是哪谁的,实际上呢,你看一下路径,那我们用的是人家编译的,为什么?因为pad变量我故意把那个自己编路径写到了pad的旧的片的前面去了,所以他优先找这个啊,优先找这个啊,当然你要是看所有的,那你杠A一下,你看原来SCP在这个后面是吧?啊啊,那我现在用的就是那个招B里面带的,那我就用它来拷考文件试试吧,那我们比方说拷一个呃,拷一个这个,这个文件拷到T上去能不能拷。注意这个用的SAP是人家自己的那个SAP啊,就是那个编译安装又这有问题了,看问题了吗?他说什么呀,他说失败了,他为什么失败了,他说他要去us rb的下面去找DB client,诶DB client有,但是他不在这个路径下,在哪啊,在在这个地方有一个DB client,因所以换句话说,它这个命令它自己不能独立运行,它要依赖于DB,还必须要放到那个目录下,那咋办啊,拷过去,但是拷过去没有必要,因为我本身有,那是不是软链接一下就行了,软接一下就是apps下的draw边下的并下的BB client啊,软链到他的这个病下面不就行了吗?对吧,他不是要求放在这,那我就软链到这来,你再走一遍,诶你看不报错了,这不就行了吗?你看对不对?哎。
71:48
你看咱们自己是不是编译的iapp这些工具,反正是桌边里面的不也能用是吧?啊当然呢,现在呢,我想把它删了,招贝尔不想要了,我还想用回到我们的这个原来的open s,在这套系统里面,招贝尔想卸载了,卸载了怎么卸啊。
72:08
那卸载了,那就是你把这些你刚才干的这些文件都给它删了吗?刚才我们不是把人家把这个DB client都给拷这了,把这个软链接删了吧,然后这个目录是不是也要删了,APP这个目录是不是这目录里面东西是不是都不要了,删了删了以后他这个程序也在运行呢,我刚才那个程序。程序能运行吗?后台运行的那个程序,看一下他在吗?应该是没了啊,应该招B这个没了,因为他是后前台执行,我ctrl CE就停了啊,然后呢,我们生成的那个什么,呃,Profile那个文件是不是应该也删了,这是不是我们自己写的,这不就行了吗?那这样的话呢,我们这个文件就当然还有原编译安装的这个目录,编译安装这个目录是不是也用不着了,这个目录都删了吧?啊,这个源码也不要了,你也可以把它删了,这些都可以删啊,删了那现在呢,我们这个就卸载完了吗?卸载完了以后呢,我现在用ICP拷东西,是不是就可以用我自己的ICP了。
73:14
是吧,那现在能考吗?啊考到这个,比方说考到六上去。呀,他还找那个旧的,那这个咋办啊,这为什么还老叫找旧的呀,因为SAP是个外部命令,外部命令执行第一次它会把它探视到缓冲去中,所以下次呢,他会利用缓存里面记录路径来寻找这个命令,所以怎么办呢?是不是把这个哈希缓存清理一下,那这两个哈希实际上都是过期的没用的了,这个都没用了,当然我现在一个一个清可以也可以全清吧,全清是怎么全清来着,RR就全清了,因为全清了嘛,全清我省的一个一个删了,诶这回好了,看这回好了,这回用的就是那个咱们系统自带的那个SCP了,看没看这回行了。
74:15
当然咱们基于可验证,验证过了,所以就没问题了,好,这就是我们刚才给大家讲的周ber啊,这个周边工具很小啊,你看我们源码包才两兆吧,两兆啊,所以呢,将来在一些嵌入式设备里面可以用这个招比啊,或者你想定制一个精简版的小lix,你可以用它。好,这是给大家讲的,这个交比尔了解一下,那接着我们来看一下这个完整性校验的叫AC,这个这个叫呃,AIDE工具,Aide工具呢,它能做什么呢?做完整性的检查,它能够校验你的系统中是否有一些文件被别人篡改。比方说你将来在工作中,你发现你的系统啊。
75:06
呃。觉得有点异常,CPU利用率特别高。发现了一个进程利用率特别高,比方说这个程序呢,也不是什么,呃,这个没见过的程序啊,那我们用top命令是可以看到系统中运行的进程的啊例,例如假设啊,假设你发现这个CD的进程的CP率特别高,CND这个CD是我们系统中第一个进程对吧?那这个是属于正常就应该有的进程,但是你发现它利用率特别高,99%,诶,那这时候,那么我们是不是有理由怀疑这个CND是不是这个程序可能被被别人给篡改了啊,当然这是只是一种怀疑啊,那我怎么知道这个CND的程序被别人改了,不是原装的CND了呢?那我们就可以用AI de这个工具,Aide的工具的使用逻辑呢,就是它可以事先把你电脑上的指定的一些重要文件,他的一些信息,包括比方说文件的所有者,所属组权限。
76:11
大小,包括它的哈希值存到一个数据库里,我们叫AID数据库,然后存进去以后,过一段时间你可以拿这个数据库里面记录的信息和现有的文件做比较,如果发现不一样,那么它就能提示你说什么什么文件什么属性变了,这时候呢,你就可以判断出来这个文件是不是被别人篡改过了,明白吧,这就是他的思路。啊,那么AID呢,这个工具呢,需要去安装,默认呢,我们默认没有安装我们AID装一下。Aide呢,这个工具呢,它是用到了这样的一个命令叫aide命令,这个命令呢,它是根据这个配置文件,这个配置文件里面定义了一些。规则。规则里面主要体现在就是你,你希望监控哪些文件,记录哪些文件的属性,什么属性,比方说你关心这个文件的大小权限,所有者关心它的哈希值,那你就要写上这个规则,写到这个AID的comp文件里面,那这样的话呢,将来再利用aid命令,把这个规则里面定义的你关心的这些文件的信息,将来一运行,它就会生成一个数据库,这个数据库放哪呢?就放在这。
77:28
放在这,放在这个目录下生成一个文件,然后呢,将来你过一段时间再拿这个数据库里的内容和现在的文件信息做比较,他就知道变没变了,那就这个意思。那当然接下来我们是不是就要修改这个文件的规则了,你要定义哪些监控的文件,因为你硬盘上那么多文件不是都监控对吧?哎,那么你可以监控,那么这个监控呢?这个文件实际上它里面还有一些内内容啊,比方说数据库放哪,你看是不是这吗?这还有日志记录,那么数据库呢,它会生成到这个文件里,但这个文件呢,它是真正用来比较的数据库,但是它用来生成的新数据库,它不放在那,是放在一个叫new GZ文件里,所以你要比的话,你要把这个new GZ得改成这个不带new的才能比,才能比较。
78:15
好,再往下,这就是你要关注的那些属性了,大家看。你看你关心关心权限,关心关心节点号,关心不心链接数,关心心用户所有者,所属组权限等等等,这里面都有,那每个字母,这就代表着那个意思,你看比方说S呢,就代表着大小,G代表着所属组啊,那当然我们关心的属性可能你这列出来了,但是我只是关心特定的属性,那怎么办呢?你可以组合呀,比方说RR代表着就是这些属性的集合。而且相当一个变量似的啊,那当然系统帮你定义好了一些东西,比方说这个单词代表着这些属性的集合,这个单词代表着这些属性的集合,那当然你要觉得他不喜欢啊,你可以自己定制啊,比方说我们就自己定制一个吧,啊,定制一个什么呢?定制一个呃,叫M42啊,我就随便写一个啊等号,那这个M42记录的啥呢?我关心什么呢?关心,比方说关心所有者。
79:12
关心所属组,关心权限,那我就写就行了,比方说权限是P,所有者是G,所属组是G啊再加上什么大小,再加上哈希值,哈希值也没有,没有关系,关心这个吧,五二这这不就行了吗?这就是你关心的东西啊,当然你起了个变量叫M42啊M42那接定义完以后呢,呃,接着我们它需要指定你要关关注的监控的是哪些文件和文件夹,那下面这就是你要监控的东西了,大家看这这就是你监控的。那这个呢?Boot是监控这些属性,OPT是监控这些属性,那么它还支持正则表达式,看到没有,这是正则表达式,这里面还有一个叹号,叹号是排除的,意思就是我不不去监控了啊,不关心了,这些从这往下的都是系统自带的监控啊,我不想要了,我把它删了可以D,我可以把它删掉,全不要了。那么我们现在监控的谁呢?比方说我们挑一个文件夹来监控,这个文件夹我都监控,监控啥呢?监控刚才说的那个M42这个属性,M42我刚才是大写吗?小写是吧,那就小写啊,当然了,这个文件夹里面有些文件我是不希望关心关注的,比方说F1这个文件我不关心。
80:34
啊,就是这个data下其他文件我都关心,就是f fe,我不关心它啊,不需要关注它,那这时候你就可以这么写啊,当然我这个文件data下没有东西啊,那我进到这里面,呃,这里面是原来的那些数据,那我就创建几个吧,假如拷贝一些文件过来,假如说F1啊F2,总之多写几个文件啊,好,大家看我们这有三个文件,F1F2F3 f1f2f3,好,那现在呢,Data塔下所有的数据我都要监控啊,但是除了一不监控啊就行了,就这么多,然后aide运行一下,我们要生成那个数据库,叫ne,就是初始化,它会自动的读取你刚才改的这个文件,根据里面的规则来生成一个目前文件的初始状态的数据库,大家看生成了,生成完了以后,他这已经告诉我们放到哪去了,看。
81:35
边是不是放在这了,就在这哇,Lab aide的这个目录大家看生成一个文件,那这个文件呢,刚才说了,它生成的文件是这个,但是它比的时候不能拿这个文件比啊,用的文件比呢,你得拿把它改一下名字,把它改成把它去掉那个new不要new的,那个不要new的才能比,那怎么比呢?非常简单,就aide有一个check可以比,哎。
82:04
哎,你看这写了,他说AID没有发现目前的现在的文件和数据库比较有什么差别,看起来是OK的,也就是说现在那些文件都没变,没有变啊,那那那我们就变一下吧,那变一下的话呢,比方说我们这样,我们把这个F1文件,F1是不关心的是吧,所以你再怎么改F1它不影响,比方说我把这个F1的这个这个大删了一个井号,删了个井号,那这个文件就被改了啊大家看F1给改了,你看原来是7000有九个字节,现在700008个字节了,不一样了,但是你在比它不关心,因为F1我本身就被排除了,好,那现在我去改F2 f2 f2文件呢,比方说我们把这个R字母变成大写的二字母啊,那改了一个字母,然后呢,权限我也给他改一下,比方说呃,所有者给他改一下,改成王所拥有,那这样的话,这个F2文件就被改了,改了以后呢,我们再比一下。
83:04
看看诶这回就发现了,看这是不是说发现不同了,发现哪不同了,说两个文件是你关注的,现在其中有一个文件被改了,谁改了呢?F2改了,改啥了FUC。啊,那其中呢,我们看到他具体说怎么改了,他说改所有者了,原来是零来着,现在变成1000了,然后呢,原来的哈希值变了,哈希值变化了,时间也变了,时间也变了,所以这样的话呢,就知道你这个文件被改过了啊,当然我们没有记录时间啊,所以这个地方他没有记录说时间,那到底怎么怎样怎么样变好,那现在我如果把它再回归回去,比方说我刚才改了人家的呃,R,那么现在我给他再回到小写字母的R,回到小写字母R以后呢,它的哈希值就回去了啊再看再比一下,你看这时候呢,他是不是只发现它的什么呢。
84:10
哎,你看哈希值应该是没有变化的,哈希值没有变化,就是你看只是所有者所属组这个地方变了,所有者所属组变了,那哈希值应该是没有变化的啊。啊,这样的话呢,我们现在也可以看到他的信息是U这个地方所有者变了啊,其他的值应该是没有变化的,所以这样的话呢,他就能及时报告给我们,由此我们就避免出现说文件改了不知道这种情况了啊,所以这个工具用起来非常简单啊,非常简单。那当然过了一段时间你又想去,比方说现在的文件,你就想把它记录下来,未来和现在的状态比,那怎么办呢?你可以在update更新一下,更新完了以后呢,它就会生成一个新的文件,又是new了,你将来比的话,就可以拿这个新new来比了,不过比的话也得改名啊,把原来的名字改了,把这个new去了才能改明白吧,哎,当然你要生成新的了,你再改的话,你得把这个再改了,把这个new去了,当然你要把原来的文件覆盖了,原来文件就没了啊,啊,你再比check看,这就是这样的一个结果了。
85:19
目前是没有变化是吧,这就是AID啊AID呢很简单,就是检查文件的原始状态和现在的状态是不是有区别的啊,这个比较也比较简单,下来自己看一下。好,那下午呢,我们给大家介绍一个非常功能常用的技术,就是速度,速度这个技术很有用啊,大家可以看一下这个图就知道速度多么有用了啊是吧?这个小男孩请求这个女生嫁给他吗?No way,没门是吧?啊,但是带上速度呢?哎,俩人就结婚了,所以S度很重要,下午我们再来讲,好吧,那么下午再说,好,上午先上到这。
我来说两句