00:01
大家好,欢迎大家继续收看上硅谷的Linux云算视频,我是刘川老师。我们从本节课开始呢,就来给大家讲解一下关于Linux网络服务这个方向的相关面试题。那我们先讲一个关于SSH服务相关的面试题,OK。首先呢,我们来看一下我们的题目。题目的要求,这样的要求呢,我们能够通过设置一些SSH服务的一些参数来提高SSH远程登录管理的安全等级。首先呢,当我们看到这个题目之后呢,你要通过这么几个方向来去分析一下这个问题考察的第一个是什么方向的问题。第二个是他考察了哪些知识点,注意大家第一个是关于我们的这个题目的类型。啊,之前我给大家说过,我们的每一个题目都有自己的类型,第二个就是考察有哪些知识点。
01:00
那这是我们所需要考察的两个方向,所需要思考的两个方向,OK。那对应的呢?这个题目的类型呢,我们给它总结为是一个优化类,其实呢,呃,这个题目当中部分也包含一些这个原理类的一些,就是知识点类的一些问题,但是呢,重点是优化类。那其次呢,是关于对应的知识点。那既然提到了这个题目中来提高SSH的远程登录,那我们就从下面几个点来作为一个思考的一个方向。首先呢,第一个。SSH的登录验证方式大家都知道SSH的登录验验证方式有两种,第一种呢,我们称之为叫什么用户密码。啊,用户密码,也就是俗称的口令式登录。那第二种呢,叫做密钥对式登录啊,密钥对式登录就不写了啊。那我们需要考察和思考一下这两种模式,哪一种模式更安全一些啊,更安全一些,更适合远程登录。
02:04
那其次呢,再一个就是关于SSH的这个,呃,登录的一个端口和默认的监听的一个设置,这个所谓的默认监听设置呢,一般指的是监听的IP地址以及对应的监听的一个端口,这两个都要去设置一下,那呃很简单,大家都知道我们SSH服务默认所监听端口是22,那如果我们所有的机器的默认鉴定端口都是22的话,很容易被人利用,然后呢,去尝试进行登录和破解。OK,那第三个呢,是关于SSH的登录用户的限制,那我们需要考虑一下呃。我们在进行远程登录的时候,用哪类用户更安全,而哪一类用户远程登录比较危险,容易泄露,或者说容易被别人劫持到我们的密码,反而对服务器造成一个危害。那对应的第四个呢,指的是SSH的登录超时设置,这个呢,其实我们所考虑的方向是从。
03:02
如果用户登录成功到我们的服务器上之后,如果一定时间内不操作,是否要将这个啊连接成功的这个。连接断开掉啊。主要是我们担心我们连接成功了,但是我们长时间不操作,万一我们走开了,别人利用我们这个已经登录成功的终端去操作和呃破坏我们的服务器,OK,那最后一个呢,是关于我们的SSH的一个呃,登录失败的尝试次数啊,大家都知道,很多时候呢,我们的服务器啊,会出现这个,呃,就是。别人尝试登录,并且登录失败中问题,那一旦别人尝试登录,就意味着别人可能正在去破解啊,登录我们这个服务器,那如果我们无限次的让对方尝试,那对方就很容易或者说对方就一定会有那么一天,通过暴力破解的方式破解掉我们的密码或者说密钥,然后呢,一次对我们的服务器造成一个破坏,再有一个就是。
04:03
这种频繁的对服务器的一个这种远程连接,如果我们每次都处理,也是一个相当消耗我们的系统资源的一种行为,所以说我们有些时候要去拒绝掉那些登录尝试次数较多的一些服务器,OK。这是我们这个题目所引发出来的一些相应的知识点,那接下来我们就围绕着这些知识点来把每一个方向的内容啊。详细的来说一下。首先呢,我们来看一下关于SSH的登录验证方式,那登方式里边第一个登录验证方式就是我们俗称的口令登录,也就是所谓的用户名密码登录方式,那看一下下边这个图,那在这个图当中啊,我给大家描述了我们的客户端和服务器端的位置,以及呢,客户端和服务器端之间连接的一个流程,那先看第一个。客户端呢,首先需要向服务器端发起一个SSH的连接请求,那这个时候服务器端会什么收到这个连接请求,但是呢,并不会直接同意,而是我们的服务器端发给了我们的客户端一个公钥文件啊,一个公钥文件那。
05:15
公钥文件在发送到我们的客户端之后,客户端。要拿着这个公钥文件对我们的账户名和密码进行加密。比如说呃,这个客户端想登录这个服务器啊,我们一般情况下这个。登录的时候都会使用一个root用户使用一个密码,或者说使用一个普通用户使用一个密码,那不管你使用什么用户和密码,在进行登录服务器时,都要通过这个公钥加密之后把加密了的信息发送到服务器端,然后由服务器端通过查询对应的配置文件也好,还是数据库也好,进行一个什么,进行一个用户名和密码的一个对比和参照。然后如果客户端发送的用户名和密码和服务器端保存的用户密码是一致的,那这个时候服务器端就会同意客户端登录,并且允许登录成功。
06:10
那这个就是口令式登录,其实在生产环境中,我们绝大多数的这种呃,登录验证方式都是这种口令式登录,你你像我们的这个呃。QQ啊登录我们就是通过一个客户端程序啊,然后填写好我们的这个QQ账号和QQ密码,然后通过客户端发送到QQ服务器的一个登录,那这个时候服务器端会在它的数据库里边检索对应的QQ号以及对应的密码,和你发送过去的QQ号和密码是不是一样的,如果一样则。就会告诉你登录成功,并且允许你登录成功,然后你就登录成功,可以进行一个这样的聊天互动了,那。几乎我们所有的这种。这种登录方式都是口令式的,这是相对比较常见的一种登录方式。
07:00
OK,那除了口令式的这种登录验证方式之外呢,那还有第二种登录验证方式叫做密钥,对的登录验证方式啊,也俗称叫密钥登录啊,那密钥登陆的这个过程呢,要远比呃口令式登陆要复杂的多,但是呢,根据我们的工作经验来说,生产环境中绝大多数都会使用口令式等。采用密钥匙登录,而不是使用口令式登录,原因很简单,密钥匙登录呢,它避开了使用密码登录这个环节,而只要避开使用密码环节,那就不再给那些使用暴力破解的人啊这样一个机会了,他没有机会。通过暴力破解来破译掉我的密码。那对应的这个密钥对登录的方式呢,它相对比较复杂,也而且要提前做一些对应的设置,比如说。先看我们的第一个步骤。首先呢,我们需要先在我们的客户端上生成一对密钥文件,注意是一对啊一对,那这一对呢,分为公钥和私钥文件。
08:07
啊,公钥和私钥文件,OK,注意看到这个私钥文件的时候,你要注意到它了,私钥文件只保留在本地。密钥对,在那产生私钥文件就保存在哪,私钥文件不会给别人用,否则就相当于把你家大门的这个门禁卡和钥匙交给别人,OK。所以说私钥这个东西一般是不能随便给别人的,那当我们生成喵之后呢,我们需要把公钥文件上传到服务器上,我们事先需要把自己的公钥文件传到服务器上一份。OK,将公拷贝过去,并且命名成一个指令的名称,OK。那这个时候,当我们把这个共享文件传输过去之后呢?随即我们的客户端会向服务器端发请求,当我们的客户端向服务器端发起请求的时候,会什么填写我们的客户端来源,IP地址,以及我们想要登录服务器时所使用的账户名,比如说我想这个使用root账户登录服务器,那你就是root。
09:05
然后这个对应的IP呢,就是客户端的IP。那这个时候呢,当我们把对应的这两个数据包里边的信息发送过去之后呢,服务器会验证这两个信息,那服务器在验证两个信息的时候。服务器上的数据来自哪呢?服务器上的数据来自于我们之前给他发送过去的那个什么公钥文件,那个公钥文件当中就已经保存了我们这个客户端的IP地址,以及客户端登录服务器时所需要使用的这个账户名。那这个时候,当验证了这个对应客户端的身份和信息和公钥文件中是一致的时候。OK,这个时候服务器不会直接统一让客户登录,而是要干一个什么事呢,而是要干另外一个验证的事情,那就是会进行一个。随机字符串的生成啊,我们称之为叫质疑码质疑,质疑就是什么询问。
10:07
啊,就是怀疑啊,就是怀疑的意思,那这段质疑码生成之后呢,它是一个随机的字符串,质疑码生成之后呢,会使用这个公钥文件对质疑码进行加密,比如说这个QWR是明文的信息,通过我们的呃,这个公钥文件对这个值译码加密之后,它肯定就变成了一个很长的一串的呃,一串字符串,然后把这个加了密的信息。发送给客户端,这样发送客户端,当客户端收到了这串呃什么加了密的质疑码之后,客户端要进行解密,由于我说过客户端在进行生成密钥对时,把这个私钥文件啊保存到了自己的本地,所以说他可可以利用这个私钥文件对这一串加了密的质疑码进行解密,那解开之后肯定就解到了QWOK,然后把解出来的QWR发送给我们的。
11:06
服务器,那这个时候呢,我们的服务器就拿着接收到的解压之后,解密之后的这个质疑码,和他发过去之前的质疑码进行比对,看看我发给你的是QW,你解出来的是不是QW,如果我发你的和你解出来的是一样的,那我就认为我本地存放的这个公钥文件和你本地存放的私钥文件是一对密钥,对。则证明。客户端有权限登录服务器。这个步骤相对比较复杂,但是呢,这个步骤非常重要,那这个时候呢,我们的客户端就可以登录服务器了,并且。避免使用密码进行登录,比如说我们的使用密度的这种登录方式呢,避开了使用密码的这个过程。那就防止了某些人通过暴力破解的方式来登录我们的服务器,那这个呢,就是关于我们SSH登录验证方式当中的这个密钥,对的登录验证过程。
12:08
好了,大家呢,这个把我们之前这个所学过的这个关于SSH的两种登录验证方式啊,回顾一下,然后吸收一下这两个内容。那接下来呢,我们就需要来把每一个知识点当中对应的一个配置给大家看一下了,首先第一个就是关于SSH登录端口的设置。呃。大家都知道,我们的SSH服务默认所监听的端口是22端口,这是一个固定的端口,不管在什么样的一个服务器上,我们只要搭建SS服务,它都是22,但是呢?由于它是默认12,所以很多人都知道。再进行对你这个什么攻击破坏时,优先去测试你的22是不是开启这个,然后对你发起一个攻击啊。OK,好入侵,那为了减少这种对服务器的一个这种啊。
13:02
这种尝试登录啊,或者说破坏的这种几率,我们呢,可以把这个对应的22端口改成一个不常用的啊,上万位的一个端口,这样呢,就减少了一部分人对我们服务器的一个城市登录或者说破解的一个几率,OK。第一个是端口,第二个呢,是关于呃,这个监听的IP地址OK。那关于监听IP地址这个对应的选项呢,叫listen address啊叫listen address,那对应的它所监听的是0.02.0,也就意味着呃,它是监听任意IP地址的,那这个时候啊,大家应该知道我们的生产环境中,所有的服务器都是至少有两个网卡构成的,也意味着一般情况下服务器至少有两个IP地址,甚至可能有更多,那如果我们的SSH服务。监听所有网卡上的所有IP。那也就意味着。我们的服务器通过哪一个途径都可以远程连接过来,那这是一个非常危险的事儿,那有些时候呢,我们为了提高服务器的安全,我们呢只允许来自于内网的远程登录管理,而不允许来自于公网的远程登录管理,那我们一般可以这样来做,服务器的屁股后边有两个网卡。
14:16
啊,一个呢是公网的网卡啊,一个呢是我们内网的网卡。而这个公网的网卡,我们是不允许SSH服务对其监听的,我们只让SSH监听这个内网的IP地址,那只有通过这个内网IP地址进行远程登录连接时,才能够登录连接成功,而。所有通过公网地址尝试登录我们服务器的SSH的都会被直接拒绝掉,那这样呢,就相当于保护了我们SSH服务以及对应的服务器的一个安全,那OK,我们去看一下对应的我们这个服务器上的一个配置。首先呢,我们连接一下我们的一台服务器。
15:04
连接来之后呢,我们来打开对应的SSH的配置文件VM,打开一下ETC写的S下的SD confi,注意它有两个配置文件,一个叫s sh confi,一个叫SD confi,服务器端的会有一个D的结尾。打开之后呢,我们来。找到了对应的两个选项,第一个叫part,第二个叫listen address。OK,那大家会发现这个地方是注释掉的啊,是注释掉的,如果我们想修改的时候,一定要取消掉对应的注释,然后再来修改,比如说我们把这个对应端口修改成。五个二啊,然后我们把监听的IP地址修改成我们的本机的IP地址。修改成幺九二点幺六八点啊。88.10OK,那这样呢,当我们修改完对应的这个监听IP和监听端口之后呢,当我们重启我们的SS服务的时候,我们就必须要什么连接19216888.10的五个二这个端口才能连接到服务器。
16:08
否则你是连接不到的,那否则你是连接不到的,OK,这是我们关于SSH的监听端口和监听IP的,那我们保存一下,重启一下服务,我来尝试一下啊,我们来尝试一下。我们来重启一下我们的服务。重启服务之后呢,我们断开这个连接,我们再次使用SSH连接82.10 OK,这个时候你会发现默认连接时,它所连接的是22端口,连接不成功了,那我们呢,给他把这个端口呢,给它改成12345。五个二,我们再次尝试连接。大家就会发现,诶,我们再次连接这个幺零到五个二的端口时,哎,它就允许我们连接了幺,求我们保存一个密钥文件,其实这个所谓的密钥文件就是服务器发给我们的公钥文件,我们接收并保存一下。
17:00
对应的用户名是root。然后密码是,哎,对应的密码好了,就登录成功了。这就是我们修改过对应的一个监听端口和监听IP之后的一个效果。那接下来呢,是关于SSH登录用户的设置啊,登录用户的设置,那对应的呢,大家都知道我们的这个远程登录呀,这个如果使用root的话,很容易泄露掉root的密码。很容易泄露入串密码,那这个时候呢,我们通常在生产过程中。都会将这个root的远程登录功能给他禁止掉,比如说远程登录不允许使用root身份来登录,这样呢,就会大大这个提高服务器的这种安全啊。即便是我们普通用户的这个远程登录被别人这个截取了,或者说获取了,他使用一个普通用户的身份登录到服务器上也是没有任何用处的,因为普通用户对服务器的一个权限是有限的,这个大家应该都知道,那我们来在服务器上来找一下对应的这个选项,叫permit root login。
18:07
同样我们去打开我们的这个配置文件,找到我们的这个关于目录线的shd confi。找到了,在这有个叫permit印的地方。那同样想要把这个禁止root的功能开启呢?需要取消注释,给它改成no,比如说默认是允许root远程登录的。我们只需要把这个对应的yes改成no就以了,然后并且把选项这个前面注数取消掉就可以了,同样保存退出一下,然后同样再重启一下我们的S服务就可以了。然后我们再退出。呃,然后我们再来登录。OK,使用root用户。123123。大家会发现这个时候我们卡到了这个地方啊。告诉我们服务器拒绝了密码,其实对应的它是拒绝了root的登录,那这个呢,其实就是一个关于禁止root之后的一个效果,那么怎么来解开呢?很简单,我们去到配置文件里边,把那个对应的yes,呃,No改成yes就行了啊,那我们只能去本地改了。
19:15
修改一下。ETC下载SSH下的shdfi。找到我们的permit root login。然后改成yes。并且ervdtt重启一下我们的服务,然后再来尝试登录就没有问题了。使用root用户。所以说呃,很多时候呢,我们开启这个关于禁止root远程登录的这个功能之后啊,会发现我们的服务器会相对更安全些,那有人可能就会问了啊。那我如果开启了拒绝root远程登录,那我不就没法以一个超级管理员身份去管理服务器了吗?那是这样的啊。
20:03
呃,我们如果开启了禁止入场程登录,我们可以授权给某一部分普通用户一定权限,或者当你使用普通用户这个远程登录成功之后,你以普通用户的身份去切换成root用户也是可以的。比如说我们使用我们的命令来切换,或者使用我们的速度把root相关的一些权限授权给一部分我们的普通用户都是可以的。下这个呢,就是关于SSH登录用户的一个设置。还有一个是关于我们SSH的登录超时的一个设置。想登录超时的一个设置。那对应的这个登录超时的设置,其实呢,对应的它的一个功能就是为了保证当管理员连接服务器之后,在一定时间没有操作之后,主动的把这个连接断开,而不被别人利用这个连接了的端口对服务器造成一个破坏。
21:02
主要就是这样一个原因。那其实呃,生产环境中是有这样的例子的啊,我之前在这个工作的时候。这个就这个。把这个,因为我们当时都是在同一个办公室嘛,然然后我们的所有的这个控制的机器都是在办公室台式机,而不是自己的那种笔记本,那我呢,用那个其中办公室里边某一台服务器啊,远程连接了机房里的某一个机器,然后呢,做了一定的操作,做完之后呢,我们又把这个连接断开,那后来呢,有一个另外一个同事呢,他在这个机器上做了一些操作,但是他并没有去查看这个已经连接了机器,到底是连哪一台,他就直接做了操作,导致呢,由于操作错机器了啊,搞丢了一部分数据,这种事呢,时有发生,所以说呢。呃,我们为了避免这种乌龙事件,或者甚至有一些是恶意事件的发生。呃,我们呢,需要把。这种登录之后一定时间不操作的终端,让它自动的断开,那这个的设置呢,它并不是使用的我们的这个SSH的配置文件,而是使用了一个环境变量,这个环境变量呢,叫tmout啊,就是timeout缩写。
22:11
我们呢,只需要在我们的ETC下的profile配置文件当中使用export来声明一个叫TM out的一个环境变量就可以了。对应的这个环境变量,它所使用的单位是秒,那我们这个地方设置为300秒,也就意味着是如果一个终端连接成功之后,五分钟之内没有任何操作,那就会自动断开我们的这个连接。而防止其他人利用这个已经登录成功了的连接去操作我们的服务器,OK。那这个呢,其实不太好掩饰,原因很简单啊,你说的时间太短可能。一愣神的功夫啪就断开了,你设置的太长呢,可能效果不是特别明显,那这个地方我们为了演示啊,我们把时间设置的设设置的稍微短一点,能设置为十秒钟,给大家来演示一下这个对应的效果。
23:02
比如说我们来vim修改一下ETC下的叫profile配置文件,那么在这个文件的尾部啊,给他用export声明一个叫TM out的一个环境变量设置为十秒钟。保存退出啊,大家都知道啊。Link当中保存了这些变量的配置文件,想要让里边的变量生效,都要使用source命令来加载一下,所以说我们使用S命8PROFILE加载一下。那下载之后呢,我们来等个大约十秒钟左右的一个时间,我们来看一下这个终端会不会自动断开,那这十秒钟之内我们不要去对这个服务器做,诶,OK,到了啊,我这话还没有说完,它已经到了,那看这个效果非常明显,所以说呢,如果你时间太短呢,可能一愣神哎就断开了,而时间太长呢,可能就没有效果了。而且提示是timeout wait for import。自动的一个退出啊,自动一个退出。好了,这就是关于我们的这个SSH的一个登录超时的一个设置,那还有最后一个,那就是关于SSH。
24:10
登录尝试次数的一个设置,OK。很多时候呢,这个如果服务器遭到了一个入侵啊,一般情况下都是先尝试登录你。那一般情况下都是常用能力啊。也你可以理解为就是俗称的暴力破解。暴力破解。那这个时候,当我们这个有人尝试登录或者说暴力破解的时候呢,会发现我们的服务器有大量的登录失败的记录啊,大量登录失败记录,如果我们不对这种东西进行一个呃约束和限制的时候呢,对方就可以无限次的进行尝试,那如果对方使用的是这种工具,那很有可能在一定时间内就破译了我们的这种密码。啊,然后对方就可以登录成功了,那么为了防止这种事情的发生呢,我们约定了一个关于如果登录失败超过一定次数之后,会对对应的一个登录客户端进行一个呃锁定,也就是说禁止他再次尝试登录,OK。
25:09
这个选项呢,很简单,在我们的配置文件当中叫mix also twice啊,Mix also twice,最大的一个自动尝试登录次数啊,OK,那默认它是一个六次啊,OK。咱们可以把这个次数限制的稍微再少一点,比如说三次之类的啊,默认登录失败几次之后,就锁定对应这个账户不允许登录了,OK,那这个呢,我们来去看一下对应这个选项啊,OK。在去看之前,登录成功之后,我们要需要对那个环境变量进行一个呃。取消用asset,先把那个叫。TM out的先给它取消掉,然后再去修改我们的这个配置文件,ETC下的这个叫profile下。把这个对应的会原变量删除掉。然后再一下。
26:02
OK,就是这样的,我们环节面不在了才行,否则那个时间很短,咱这儿可能万一突然一愣神,十秒过去了,然后啪断开了,这个可能就比较麻烦。然后我们操作完之后呢,我们去看一下配置文件。ETC下的这个SSH下的SD抗打开之后呢,有一个这有个。叫try also try。默认是六次。我们这个地方可以设置为三次。OK,保存退出,重启服务。冲击完之后呢,我们来退出这个终端,那我们来测试一下,我们设置完这个登录超时次数为三次之后的一个效果,那我们来尝试登录还是用使用root用户,但是呢,我们故意把这个密码输错,OK第一次。然后再来第二次。然后再来第三次。大家看会看到我们当我们输完三次之后啊,它会自动的去断开我们这个登录请求,不允许你再次尝试了,OK,那我们再去设置一下那个改回来六次的那个次数之后,看看什么效果,OK,首先我们按正常的方式来这个登录,我们从本地登录一下。
27:18
然后修改一下配置文件。把配置文件里边那个尝试的次数从三次改为六次。而乘六次。保存最初OK。并且用。这个对应的重启一下我们的服务,然后我们再次来尝试我们这个登录,OK。同样,我们使用root用户来登录,第一次失败。第二次。第三次。第四次。第五次。第六次。
28:04
大家可以看到,当我们设置完两个不同的值之后呢,它会在不同的时候去断开服务器和客户端之间的一个长连接,那当达到指定次数之后呢,就会断开对应的一个连接,那这个呢,就是我们关于呃。如何去啊?主动断开客户端尝试登录失败指定次数之后的一个这样的一个参数,OK,那这就是我们SSH当中的这些,呃。比较重要的能够提高SSH远程登录安全的一些参数啊和一些设置内容,那我们就把这些内容总结一下啊,总结一下首先呢,我们从第一个开始来说,那就是登录密钥改为啊,这个登录验证方式改为密钥式登录,那第二个呢,就是修改我们的SSH的监听端口为非22端口,以及监听某一个指定IP地址,而不是监听所有IP地址,其次呢,是禁止使用入应动。
29:04
那再一个就是当我们这个啊,远程连接没有任何操作的时候啊,主动的去断开我们和服务器间之间的一个连接,然后再一个就是设置登录失败多少次之后的一个禁止次数,OK,然后还有一个就是。可以编写我们的防火墙规则,来去约束客户端登录服务器时候的一个这种监听端口啊,可以通过啊。防火墙来放行SSH监听的端口以及监听的IP地址,就是这个呢啊这个呢,防火墙规则一般情况下和第二条是相辅相成的,你上边监听什么什么,呃,端口以及监听哪个IP地址,那你的I防火墙就要对应的放行。但是呢,建议大家使用白名单功能,所谓的白名单是默认拒绝所有,然后只允许哪哪哪几个,这样的方式会更安全一些。OK,那这个呢,就可以当做我们这个题目的一个啊。
30:03
这样的一个答案了,OK。好了,这也就是我们这个面试题当中的一个总结,那除此之外呢,还为大家准备了关于呃相关的一些面试题,比如说看一下这个地方。那在进行一个SHSH这个连接的时候呢啊。我们肯定会遇到过一些,呃,登录连接时间超时或者过长的一些时候,那这种到底是什么原因导致的,又怎么来解决呢?这个地方我给大家来看一下。首先呢,这个我们的S登录连接啊,呃,它是有S有一个叫DNS的反向解析的一个过程,就是当我们客户端去登录服务器的时候,服务器会反向解析我们的客户端地址登录这些信息,那这个时候呢,会消耗一定时间,所以会有一定的一个这种连接等待时间,那怎么来禁止掉这个事呢?我们只需要在我们的SSH配置文件当中找到use子DNS这个选项,也就说取消掉使用DNS进行反向解析这个功能就可以了,那这个呢,我们可以去修改一下。
31:07
来登录一下我们的服务器。然后呢,打开对应的配置文件。然后呢,找到我们的use DNS。搜一下。这是。点。这地方有个叫use DNS的一个功能,那同样的我们需要把这个选项取消注释啊。取消注释。然后呢,把这个对应的yes改成no就可以了,保存退出之后呢,重启对应的服务就不会出现这问题了,那有人说那为什么你这个不会出现这种问题呢?因为我的虚拟机压根没有配DNS啊,没有配置DNS,所以话没有这个过程,OK,那这个呢,就是关于如果会遇到这个呃,登录认证时间较长的一个解决方案,OK,那再来看下边的红色字体,那这个呢,很重要,大家一定要注意啊。
32:08
大家会发现啊,我们SSH的这个配置文件和其他配置文件很不一样,不一样在哪呢?不一样在SSH的配置文件当中呢,很多的选项虽然是注释掉的,但是它是生效了的。不一样就不一样,在其他的配置文件,如果我们想取消掉某注释的功能,我们只需要把它注释掉就可以了,但是在SS里边注释掉的它是生效了的。那你想关闭SSH服务的某个功能,一定要把这个注释取消,注释之后改成no,然后再重启服务才会真正关闭掉,否则这个选项还是生效着的,大家一定要注意这一点,否则你的SS服务很多功能可能会关不掉啊,OK,那这是一个我们的注意事项,那再来看一下我们第二个问题。第二个问题呢,是关于SCP命令和RNC啊进行远程文件复制时有什么样的一个区别,那其实呢,大家都知道,SCP啊是利用的SSH协议进行一个远程的复制的,就是它和AP功能一样,只不过AP只能在同一个机器操作,而sapp是可以跨机器来操作的,它是借入了SSH服务来操作的,那RNC呢,是一个典型的经典的用来文件复制的这么一个服务,那他俩呢,功能既然很相似,那肯定是有所区别的,那我们通过一张表格来给大家讲一下关于SCP和RSVC它们的一个区别。
33:36
首先呢,就是关于他们两个的备份方式上,Iapp呢,只能做全量备份,为什么只能做呢?因为他每次不管是遇到呃只修改了一个字符,还是修改了大量这个文文件,还是新增了很多文件,他们每次都把只能把所有的文件重新传到另外机器上一份啊另外机器上一份。这是SCP能做的,也就是他每次只能全量备份,而对应的SNC呢,它有个好处,就是它可以进行差异对比。
34:06
它可以对比两个机器之间有哪些变化,然后把变化了的传到另外一台机器上,所以说它可以实现增量备份,那呃,基于这种模式,大家会发现这样SNC会占据一定优势,那就是它呃传输的数据量要小一些,OK。其次呢,再一个就是关于传输时的一个传输的一个级别,那iapp呢是文件级别,也就是说每次它至少得传一个文件,就是说它它至少是一个文件,一个文件传输,那而SNC呢,有的时候可以不传文件,而是传块。他呢,把对应的文件做了分块处理啊,也做了分块校验,呃,什么意思呢?假如说我们有一个文件,这个文件有这个几十兆甚至上百兆大小,那这个时候这个文件里啊,我们只修改了啊对应的简单的几个字串,那这个时候呢,我们并不需要把这个几十几百兆的文件重新传一遍,而是只需要把对应该文件里变化了的块进行一个重新的传输就可以了。
35:09
部分传输就可以减少我们的什么占用的资源,OK?然后再一个就是呃,两个传输事故加密,那SAP使用SS协议,那肯定是加密的,而对应的SNC它是一个非加密的传输,所以说在安全层面上SCP可能要好于R3C,而最后一个资源消耗,这也是我们呃生产环境中啊,或者说我们工作中比较关心的一个条,就是哪一个工具更节省资源,我们就更喜欢哪一个。那我告诉大家,虽然大家可能认为RNC传的数量少,它不应该是省资源的,但实际上并不是这样的。SCP呢,由于它是借助S,借助SSH服务进行一个传输,它是经过加密通道传输的。只是在建立这个什么呢?加密传输连接的开始会比较浪费时间,但是建立成功之后,它的数据传输效率还是蛮高的啊。而且呢,R3NC不太适合做零散文件的传输,在进行零散文件传输时,它会建立大量的连接进程,这就会导致每一个连接进程都会消耗很多的性资源,所以说你会发现RC反而是那个消耗资源高的那个服务。
36:27
那大家会发现呃。这个SNC在前两个比较占优势,而SCP在后两个比较占优势,那这个呢。大家可以根据自己在呃实际工作中的一个呃需求和需要进行一个工具的挑选,那呃其实这个工具呢,很多时候我们都是把它写到脚本里来使用的,OK,那这个呢,就是关于我们这个SCP和SNC的一个对比那。呃,我们第一堂这个Linux服务当中的这样一个面试的讲解,我们这节课就到这了,OK,那我们下节课再见。
我来说两句