00:01
大家好。欢迎大家继续收看上硅谷的link云计算视频啊,我是刘川老师。那么前几节课呢?我和沈成老师啊一块给大家录制了关于我们的links网络服务阶段的一部分内容。那么从今天开始呢,将由我自己独立给大家录制网络服务的后半段的一些啊视频。那在录制之前啊,我先给大家简单的回顾一下我们这个。和沈昌老师一块儿啊,录制的视频有哪些内容?那最开始呢,我们讲了一下关于什么叫做网络服务,以及网络服务的类型有哪些,还有我给大家的一些学习的一些建议和要求,那那些要求啊和建议,大家一定要好好的去看一下,并且按照做一下,毕竟啊,我们网络服务阶段和Linux的基础阶段区别还是很大的。所以说大家呢,需要重新去养成一个新的习惯,或者说摆正一个新的心态来学习。那除此之外呢,我们后期学了一些关于S6和七的一些对比,也就是说SS6和七上边有一些操作是不一样的。
01:06
那再一个呢,就是最后啊,我给大家建议了一下,关于六和七学习的时候一个侧重。那这个呢,其实我可以再给大家重新声明一遍,关于3S6和七啊,在真正的生产环境中,它的占比的一个真实情况。呃,七呢,它的占比啊,逐年在增多,目前占40%左右,那六呢,其实还是占60%,50~60左右,等于说这不六还是占绝大多数嘛,这个很正常,大家都知道我们这个Linux这个东西,它是一个系统的底层的操作系统。这个东西呢,它的更新换代啊,并不是说一定要更新换代,而是只要稳定就行。而目前呢,我们生产环境中绝大多数的软件呢,还都是可以运行在这种相对比较稳定操作系统上。你就说你说这个相对稳定是指的七不稳定嘛,也不是七呢,其实也非常稳定,而且七呢,很多地方效率还更高一些,比如说为什么不直接更换成七呢。
02:04
这是因为很多生产这个环境中的服务器的配置啊,是相对来说适合运行3S6这种服务器的,那如果说你换成七之后呢,会无形中增加。服务器的一个功耗,这样呢,可能就会消耗掉更多资源,也就是说原来的100台服务器可能当做100台服务器来用,但你从3S6变成3S7之后啊,可能服务器的配置可能就。顶多能达到这个80台服务器的那个配置的那个。样子,所以说呢,并不是所有的地方都需要换,只要是能用,安全稳定就可以了。因为说为什么还会逐渐去过渡成七呢,这个其实大家也需要去了解一下啊。因为随着我们计算机的这个技术的这个发展和增长啊,大家会发现很多的软件对我们的这个。系统的要求越来越高,比如说现在我们很多软件呢,对Linux内核这个版本的要求就比较高,它呢是必须运行在一个我们的3.10版本以上的内核上才可以。
03:08
比如说我们的虚拟化的一些软件等等,都必须运行在我们的一些高版本的内核上才可以,那。这个就是为什么生产环境中会。不断的有服务器会从六过渡到七的一个原因,当然我还是要还是要说一下啊,我们这个六和七呢,占比相比来说六还是。绝大多数,甚至啊,有些公司的服务器还有在用五的。但是四的键呢,应该是基本不见了,但是用五的还是有的。所以说大家不要去。单纯的去崇拜什么,或者说去去去更换成漆啊,就格外好,怎么怎么样的,这个是有一定的误差的。那我们呢,去讲了一下六和七的一个对比,以及一些不同的操作那。我们的网络服务阶段,接下来的所有的网络服务的搭建呢,基本我们都是以六为基础。
04:03
然后呢,我会给大家在以六为基础讲的同时呢,把那些在七上部署,如果哪些地方不一样的地方,然后给大家独立的列出来,告诉大家如果这个地方在其上部署,应该是一个什么样的,什么样的一个样式,或者什么样的一个配置方式。所以这个大家请放心就可以了,所以说大家知道我们接下来的网络服务绝大多数都是在六上配置的。那除了我们S6和七的一个对比之外呢,我们还讲了一些关于我们的网络的协议和端口,常见的网络协议和端口呢,这个是我们。必须要掌握的,必须要背过的啊。除此之外,还讲了一些关于网关和路由的一些知识,如何来配置我们的网关、路由的一些概念等等。还有一些网络配置的一些常见命令啊。比如说我们的IP的一些配置,主机名啊,网关啊,DNS呀等等一些配置,这些都是比较重要的。那除此之外呢,还有一些我们的网络的一些什么查看啊。
05:01
网络测试、连通性测试、地址解析,网络探测等等命令的一些讲解,最后呢,我们讲了一下关于我们的网络服务当中的一些远程连接工具和与数据传输工具的一个使用情况。那这个呢,就是呃。我和沈超老师一块儿给大家这个。录制的一些内容。那从今天开始呢,就开始正式进入到我们的这个网络服务的一个服务讲解的一个。那我们第一个要讲解的是我们的网络服务当中的SSH安全的远程管理服务,那。这也是我们这节课要讲的内容,我们我们这节课呢,一共要讲这么几个东西,第一个是关于什么是SSH服务。第二个是关于SSH的登录验证模式,那这是我们本节课要讲的,那SSH这个东西一共我们要讲哪些东西,那还要讲一些关于SSH的一些配置,比如说给大家列了有这么六个配置。那除此之外呢,还有一些关于SSH相关的衍生的命令,我们也要讲一下。
06:01
那这是我们SSH要讲的一些内容,OK,那么就先不多说了,来讲一下关于我们的SSH的这个内容。那这节课呢,我们先来说一下关于我们的这个SSH的这个它的一个原理啊,和它的一个呃。的一个类型,OK。首先第一个就是关于S这个概念,SSH呢,这个全称叫secret shell。啊,Secret,然后呢,它呢是一个工作在应用层上的一个安全远程管理协议,大家知道我们的远程管理啊啊。这个东西呢,作为管理员来说是必须要掌握的一个技能,最在早期的时候,我们来管理我们的服务器的时候,其实很多都拿t net来管理,当然哈,这个指的是很早很早了啊,非常老的了。那TEL net有一个特性,就是TEL net在进行数据传输的时候啊,TEL net它是以明文的方式将所有的数据包在网络中进行传输,也就意味着我们在登录远程的服务器的时候。我们所。
07:09
输入进去的账户和密码在互联网中传输的时候是以一个铭文的方式传输的,那这就会带来一个很大的一个危险性。如果你在网络中以明文方式传输,那别人如果在网络中抓取数据包,可以直接看到我们的数据包来源的来源地址。目标地址以及。目标地址登录时所需要使用的账户名和密码。那这就相当于直接将我们的账号密码泄露出去了,所以说非常不安全,那这也是telnet这个东西啊,被代替掉和被取代掉的这么一个原因,那SSH呢,就是这个取代掉t net的这么一个工具了。那SSH是目前啊,相对来说比较可靠的一种啊。远程管理的传输协议,那他呢,呃。支持的加密的算法和的远程登录的管理方式比较多一些,那它是一个专门为我们这种远程会话,也就是说远程登录。
08:11
远程登录和管理的这么一个工具,以及呢,他还为一些其他的服务提供了一些安全保障。这个呢,其实就涉及到下边我们要讲的一个SSH的其他相关命令了,OK。利用SSH可以有效的防止在传输过程中。数据泄露啊。SSH的一个应用,我们来简单说一下,SSH呢,它的一个应用啊,其实在所有的操作系统都可以使用,但是呢,形式不太一样,在我们的这个大多数的尤尼克斯和类尤尼克斯操作系统中啊,类尤尼克斯大家应该是了解的,就是我们的Li尼克斯的各种翻向版都叫类尤尼斯啊。那在大多数的unix和类unix中呢?小门呢,都可以直接通过它的字符终端啊来进行,直接使用SS命令来进行远程管理。
09:03
它对应的使用的端口呢,是我们的TCP的22端口。在建立了安全的远程连接之后啊。整个数据传输过程会采用加密的,也就是说密文的方式来进行在网络中数据传输,这样呢就保障了我们不管是登录对方的时候使用的账户密码也好,还是登录成功之后再进行的数据传输也好,整个过程中都是一个安全的,有保障的。这个呢,就是我们的SSH的一个,它的一个一个概念,以及SSH的一个应用场景。那接下来呢,我们来说一下关于SSH的一个登录验证模式。那SSH有两种常见的登录验证模式,第一种啊叫什么呢?叫账户密码,也叫口令。密码也叫口令验证模式。那第二种呢,是基于一种叫密对的一种引流模式,那这两种模式呢,是我们。
10:05
经常使用的那种。这两种模式最终的一个效果都是让客户端和服务器端建立起来一个安全的。一个有保障的这么一个数据通道,然后呢,客户端在给服务器进行数据发送的时候,中间传输的数据是以密文的形式加密就是。加密的一个内容来传输的。这样就保证了安全性。这个我们先来看一下关于账户密码的这种登录验证模式是怎么一回事。首先呢,这个地方我给大家准备了一个图,这个图呢。详细的给大家说明一下,关于我们的SSH使用账户密码登录的一个。验证过程,当然这个图是一个相对比较复杂的一个图。我们可以先来简单的看这样一个图。这个呢是我们的客户端。C代表clint。
11:00
然后呢,我们这边呢,是我们的服务器端用S代表server。当客户端想着远程管理服务器的时候。也就是说,我们。在客户端上就能管理服务器的时候,我们要从客户端上通过工具。然后连接到这个服务器上,那对应的你要连接到服务器上,一定要知道对应服务器的账户密码才能登录成功,所以这个地这个时候首先我们要获取服务器的账户和密码。那这会我再问一下大家。那对于服务器的账户和密码,首先它存放的位置是哪?大家都知道我们的Linux,他的账户和密码存放的位置在ETC目录下。然后呢,账户和密码呢,分别是两个文件。账户的文件叫。Pass。打。然后密码。这两个文件,一个是存放账户信息,这里边儿只有账户用户名。
12:04
第二个文件呢,只有密码,以及密码相关的一些参数。这是我们的两个文件,那当客户端想远程连接服务器的时候,也就意味着他要。知道这台服务器上的。在这两个配置文件当中的一对信息。他要知道,如果他不知道,那他就没法进行远程登录了。OK,那么来。客户端使用相应的一个工具。把他知道的账户和密码。打成数据包。发送到服务器上,服务器在接收到远程登录请求的时候呢,它会把接收到的数据包拆开,拿到里边的账户名和密码。将拿到的账户名和密码和自己配置文件里边存着的账户名和密码去比对一下。啊,去比对一下,如果客户端发送过来的账户和密码。
13:00
和在配置文件里边的账号密码是配对的,或者说能够从配置文件里边找到这样一对账号密码,那这个时候服务器就会允许客户端去连接它。这样呢,客户端就可以登录成功,并且在客户端就可以来管理服务器了。那这是一个简单的过程。那这是一个简单过程,如果是使用TEL net的话,你会发现这个数据包啊在中间啊,是明文的,如果有个第三者将数据包截取了,这个时候我们这个数据包里的账号密码就会被人拿走了,那这个人不就可以拿着账号密码去登录这个服务器吗?所以说台是不安全的,那么来说一下SSH的一个登录验证模式,使用账户名和密码登录验证模式。SSH的这个登陆证模式啊,它分为四个步骤,相对来说比较复杂一些啊,相对来说比较复杂一些,首先第一步。客户端啊,要想登录服务器啊,同样还是要干嘛呀,还是要去。
14:05
拿着账户密码去什么连接服务器?但是注意,当我们使用SS连接时,第一次对服务器发起的请求并不会包含着自己所登录对方时所用的账号码,就是说第一次发送的数据包里边,这个连接请求数据包里边。没有任何的什么账户名和密码的信息。那这也就防止了什么数据泄露。那这个请求呢,只是说。问,这个对应的服务器在不在线,能不能远程连接?OK,那假如说我们这个客户端对服务器发起的请求成功了,那服务器这个时候会给客户端发送一个回执。这个回执里边会包含一个特殊的内容,叫什么呢?叫公钥。涉及到我们的一个重要的概念。米药,对。
15:00
密钥对。有人说下边不是才叫庙段吗?怎么这个地方就有庙段?以SSH这种加密的登录验证模式当中。虽然是账户密码验证,但也已经设置及涉及到了密钥,对,那一会儿我们要讲的另外一种密钥,对呢,是更安全的一种模式,OK。既然讲到了密钥对,我们就来说一下密钥对里边的组成成分,密钥对呢,里边有两个东西,一个叫公钥文件。叫。这个东西怎么来解释呢?或者怎么来理解呢。公钥私钥一个是公家的,一个是私要的吗?不是这样的啊。一个是公共的,公用的,一个是私有的,私用的。OK。给他举个例子。现在呢,我有一个小房子,这个房子里边儿是专门给我分配的,让我来放东西的,那这个时候这个这个小屋子里边的空间是只能让我来使用。
16:04
那这个时候如果这个小房子的空间是开放的,那是不是谁都可以使用啊,对吧,这个时候就不太安全,那为了这个空间只能让我使用,那我呢,最好的方式就是把这个小房子锁起来。然后呢,钥匙我拿着。这个时候如果我想用,我拿着钥匙去开这把锁就可以了。这个时候我们的公钥文件就是那个锁。而私钥文件就是对那个钥匙。对应的这把钥匙只能开这把锁,而对应能开这把锁的也只有这个钥匙,当然啊。嗯,你们不要去想那种关于什么暴力破解啊,社会工程学之类的啊,不要不要想这个啊,我们就说正儿八经的,这把锁只有对应的钥匙能够开启,其他人是无法开的。那也就对应的这个锁,锁定的这个空间只有持有钥匙的人才能使用。
17:00
那这个其实就是对应的公钥和私钥的一个区别。那对应的来看一下,首先服务器呢,会在自己这里啊生成一个密钥,对。密对里边呢,包含公钥和私钥两个内容。要他自己留着。他把公钥发给客户端。啊,他把公钥放在客户端,然后呢,就相当于把锁锁到了客户端,有人说客户端都被锁了,客户端是不是只有这个服务器才能使用,不是这个意思啊,刚才举的那个例子,锁和什么那个例子啊,指的是那个空间这个地方,这个锁呢,指的是什么呢?指的是用来加密的,也就是说公钥是用来加密的。这个时候服务器把自己的公钥文件回执给客户端之后,客户端就会把这个公钥保存在自己的一个。超级动力。Linux和Windows保存位置不太一样啊。不太一样。这个呢,总。
我来说两句