00:00
大家好,欢迎大家继续收看上硅谷的links预算视频,我是刘川老师。那上节课呢,我们讲了一下关于我们的SSH的一个配置的准备环节,里边呢,我们讲了一下关于s links和IP tablebos防火墙的一些关闭和永久关闭的一些方式和策略,以及呢还提到了一个概念,就是我们在接下来做实验的时候,一定要先把我们要进行实验的主机名改掉。然后呢,以此形成一个对比,不然我们在做实验的时候会发现我们在远程连接到对方的主机时,啊,我们的两个主机的主机名是一样的,这样呢就不太好区分了。那我们。又不想每次要通过IP地址来区分。所以说最好呢,要提前要把这个对应的主机名改一下啊,主机名改一下。那我们在讲解我们的实验之前,我们先把我们三个主机对应的主机名修改掉,然后我们再来说一下我们的这个实验,OK,修改主机命名方式大家应该还记得啊,我们就是通过hostname就可以啊,OK。
01:04
Host name,然后呢,我们这个零一主机呢,我们改给它改成叫at。At硅谷。零一就可以了。然后我们这个主机呢,给它改成host name叫at硅谷零二就可以了。然后这个给他改成。Na叫。零三就可以了。这样我们这个对应的修改完之后呢,我们就可以来讲我们接下来的实验了,首先呢,这个第一个实验,其实我们在讲我们的关于SSH的登录验证模式,用户密码验证模式的时候已经讲到过了。那么简单的回顾一下啊。首先。在使用账户密码进行登录的时候呢,Linux和Linux主机之间一般直接通过命令就可以了。啊,所以我们直接可以使用SSH命令来进行登录,然后登录方式呢,是使用SSH账户名艾特IP地址,其实呀,账户名和艾特这个符号可以省略掉,可以不写,直接写对应的SSH加ipd就行,但是呢。
02:13
注意这个地方稍微有点不同啊。由于我们的Linux是字符终端,当你直接使用SSH不写用户名加艾特的时候,直接写IP地址时,它默认就是让你使用root来登录对方的。除非你想使用别的用户,比如说我想使用一个普通用户登录对方,那你就SSH普通用户A加IP地址。虽然我们不写,就是root写了,就是你写的那个。注意这个格式啊,那如果是Windows的话,我们要一般要通过第三方的工具来进行这个远程登录的一个管理,比如说X shell,什么secret CRT等等等等都可以啊,这个我就不一一列举了。那格式呢,其实基本差不多,都是用户名艾特IP地址。生方式。
03:00
那这个呢,我们先来试一下啊,回顾一下,首先我们在我们的Windows上用X share的工具,SSH root at192.16 8.88.30。他们直接要密码了,为啥呀,我在这个地方登录时是不是使用账户名啊,比如说已经提前填好了。密码是123123回车OK,登成功呢,你会发现我们现在的主机是。艾特硅谷零三,然后呢,我们想通过Linux登录了inx,那就是SS命令。SS命令,直接写IP地址也行。直接写IP地址,或者说用户名写IP地址也行,比如说我们刚才说过啊,SSH的时候你不写用户名和不写用户名就是用root OK,我们来试一下啊。不写用户名,直接写192.168.88.20。啊,直接写二零回撤。你会发现他压根没让我们输用户,而是直接问我们要了什么,问我们要了root的密码,好嘞。
04:01
123123把密码给他,OK,你看登录成功了。主曲。很明显,我们已经切换到了另外一台主机上。所以说我提醒大家一定要记得改主机名,否则你做实验有可能做懵了,为啥都是local host local man对吧?那你咋区分啊?每次只能通过if con来看IP来区分吗?对吧?很麻烦的。当我们使用SSH远程了别的主机之后,如果说做完了对应的操作,我想退回怎么办?可以用exit。It,你会发现呢,Closed。就关闭了,OK,我们又回到了我们的三零啊,又回到了我们的三零,那这个呢,就是通过账户名和密码的一个方式进行啊。远程登录管理了,OK,那接下来我们来看一下关于喵对的一个实验应该怎么来做啊,OK。首先Linux和Linux之间的主机使用密度登录我们。
05:02
然后呢,后边有一个Windows使用密钥对来登录,我们单独来讲一下,OK,先来说一下关于Linux和Linux主机之间有这么几个步骤啊,首先呢是客户端生成密钥对比,就说服务器不也得生成密钥对吗?诶服务器端的密钥对啊,是自动生成的,但是客户端的密钥对啊,需要什么?需要人为来生成,那我们客户端生成密钥对的时候,有一个专门生成密钥对的工具,这个工具呢叫SSH-KN。啊叫SSH,杠K,然后呢,我们常用的两个选项,一个叫杠T,一个叫杠B。杠T选项的作用呢?是指定一下我们在进行数据传输时的一个加密算法。而杠B呢,是我们在进行加密算法使用的时候,那个加密算法的长度。加密长度。OK,简单说明一下啊。关于加密算法呢,其实啊,就是使用了各种各样不同的数学概念来进行加密,有的呢,使用的是诶这种什么离散数学啊,有的是使用别的加密,那不同的加密类型啊,它的加密的这个算法用的也就是说它用的数学的概念和加密算法都不太一样。
06:18
所以说呢,这个加密类型呢,这个我们要去挑选一下,怎么挑选呢?首先第一个你要挑选一下当前你的SSH版本兼容的加密类型。那我们现在用的是SSH2点几的版本,那它呢,对我们的这个呃,加密类型的兼容,基本上都是兼容r sad sh等等等等,包括MD5都是兼容的,但是常用的是r sa。这点我需要给大家说明一个问题。在这个,呃,全球啊已经有了,对。Rsa加密算法的一个破解了。这个破解呢,不是指的把算法破解了,而是通过暴力破解的方式,把r sa。
07:04
1024位以内的长度的这种加密能够破解了。啊,能够破解,也就是说如果你使用的加密算法rsa,并且呢使用的是1024以位数以内的长度进行加密的,那小心了,你这种加密很有可能会被破解掉。我再说一遍啊,是加密被暴力破解了,但是加密算法没有被破解,为啥?如果算法被破解了,不管你多长都能破解。明白这意思吗?D没有,但是他俩是有区别的啊,它俩是有区别的,一个是效率上,一个是安全上,那我们常用的啊,这个我就不去过多的解释了,因为涉及到加密,这个就涉及到安全的一些东西了啊,然后呢,我们常用的就是RA,尽量的使用11024以上的,就是2048呀之类的就可以了。我们来看一下这个地方,我用了一个例子啊,叫SSH-K-t r sa-B2048。
08:05
当这条命令执行时呢?会有两个询问,OK,我们先来执行一下啊。我们现在呢,这个我们。三零去登录二零的,三零是不是就是客户端啊,OK,这个地方我们干嘛呀,我们在这儿给他改个名,比如说它是SSH的。OK,然后这边呢,我们登录一下我们的二零。然后呢,这个我们改了名叫SSH的服务器端。OK,一会呢,我们拿三零去登二零。拿三零去当二零。然后呢,这个三零要生成密钥对,为啥三零去登二零时,二零上已经有了密钥对,直接把供钥给三零就给了,但是三零上没有供钥,就是没有密钥对,所三零要产生密钥段啊SSH杠叫K针。
09:04
杠TRA,杠B2048。首先第一个询问,第一个询问是问你要将产生的密钥save到哪个位置,就是保存到哪里,默认的是帮你保存到,注意这个地方有个陷阱。他说呀,他帮你保存到根下的root下的,点SH下。为啥说是陷阱呢?这个地方啊,由于你现在你是root。你是root,所以这个地方保存到了root的。目录下,而这个root目录是不是就是root加目录呀?但如果你是一个普通用户,则这个地方就会换成你的加目录,也就意味着这个地方实际上是加目录。这个地方就是加木。每个人家里会有一个点SSH的隐藏目录,里边会有这个文件啊,OK,我们回车就可以了。
10:05
然后接下来下一步呢,他会问啥呢?接下来的下一步他问的是是否对密钥文件加密。是否对密钥文件加密?OK,这个地方涉及到一个新的原因,就是是否对密钥加密,哎,我们回过头来去看一下这个图啊。客户端有公钥。有。私药就是药。这个公钥文件啊,是要传给服务器的。而这个私钥文件是要保存在自己家里的。啊,是要保存自己家里的,但是呢,有些人啊,为了防止这个私钥保存在自己家里啊,也不安全,比如说。我们生产环境中啊,这个在机房里啊,那个管理机器就是就。统一管理机房里的那个管理机器可能不是一个人在用,为啥呀?你不可能七乘24小时待在办公室里吧。肯定是几个人轮班,肯定是你白天在那儿啊这个。
11:03
管理有人晚上去值班,那这个时候你们俩可能共用一台电脑,那这个时候如果把如果你把对应的私钥文件放在这台电脑上,那当你晚上下班走了之后,那别人是不是可以拿这个私钥去登录你的服务器啊?明白这个意思吗?所以说呢,私钥。放的时候。放到了这个服务器上,呃,放到这个对应的客户端上之后呢,这个客户端保存它,如果这个客户端只有一个人用,则可以不加密,但如果这个客户端有多个人使用,这个时候你的私钥是要加密的。你要保证这个私钥只有你一个人能用,那为了保这种事儿,就是为了保证自己这个私钥文件就是别人用不了怎么办呢?我给这个私钥再加密,假如说举个例子。这个办公室里啊,这个。机器啊,就是专门用来连接机房里那些服务器的这个管理机器啊,你在这个管理机器里边,你单独去创建一个啥加密目录。
12:01
你把你的私钥文件放到加密目录里,这样的话,这个目录只有你一个人知道密码能打开,然后是不是就只有你一个人可以用这个私钥了,但是实际上人家SSH呢,充分考虑到了私钥文件的安全性,人家这样做的。在你创建私钥文件时,就直接问你这个私钥。要不要加密?要加密的话,就是只有知道这个私钥密码的人才能使用私钥去解服务器发过来的加密信息。如果。你不对,这个四幺加密,那这个419,谁拿到这个四幺谁都可以用。就这个意思,所以说会有一个询问,那。加密。若加密,则在调用。私钥文件时,需要先验证私钥的密码才能使用,若不加密,则这个私钥文件直接可以使用,无需输入密码,也就是说,如果你不对私钥加密的话。整个登录过程就成为免密码登录。
13:02
啊,就成为免密码登录了。OK,那这个地方我们在Linux上我们做一次这个不加密直接回车,他问密码的时候就直接回车就可以了。没有输密码就没有密码。然后呢,我们一会儿在Windows上做的时候呢,我们让Windows作为客户端的时候,我们让Windows上那个四要文件加一个密码,OK,我们来看一下这。的区别是啥样的OK?现在呢,我们让我们的这个。三零这个机器,也就是说零三这个机器。产生了一个喵度。零三是客户端嘛,我们让客户端产生密钥,对,然后让零三把公钥发给服务器,怎么发呢?OK,第二个步骤。客户端将公钥文件传至服务器端,怎么传啊?有一个快速剪辑的命令叫SSH-copy-ID直接写入对应的服务器的。账户名和密码,也就是说存你你未来要登录哪个用户,你就往哪个用户上发,注意啊,这个地方你未来要远程登录root,你就往root上发,你VR要登录远程登录别的用户,你就往别的用户上发,OK,这个地方我们要未来要登录去登录这个零二机器的这个root,所以说我们给入发SSH-copy-ID。
14:16
然后呢,Root at192.168.88点。二零。OK,由于你要给人传文件。那由于还没有建立密钥认证。要建立嘛,对吧,还没有建立嘛,所以说你要输入他的密码。文件就传过去了。那我们就过去了。传过去之后放到了哪儿啊?放到了对方这个指定的root的加目录下的,点SSH隐藏目录下。这样的一个文件。这样的一个case文件里边啊。下载一个K文件里边。然后呢,这个文件里边就保存了客户端的什么。
15:01
保存了客户端的公钥信息,比如说咋知道是啊,我们来验证一下,首先我们来LS杠。LA一下。看到我们的。零三机器里边有一个点SS目录。这里面有个id.RA有个id.ID-RC PU pub。这个pub文件就是公钥文件。然后呢,在服务器上。LS杠。二杠A一下。会也有一个这样的一个文件CD到我们的DS下。这里不有刚才我们所说的这个文件,我们来打开这两个文件,看一下内容是不是一样的啊。Vim一下我们的ID-ra.pub。OK,然后呢,我们再打开我们这边的这个。我们来验证一下啊。VMS大Q。
16:02
VMSW,一模一样的。这样1000你应该能看到。文文本没有任何的变化吗?看到了吗?两个文轴一模一样的。啊,一模一样的。OK,这就是我们客户端把自己的公钥传到服务器上之后的一个效果。啊,传到服务器上之后的一个效果OK,那既然客户端已经把自己的公钥文件传到服务器上了,那也就意味着客户端在登录时是不是可以拿着自己的。公有文件去登录。密对动作不需要不需要这个用户了呀。我们来试一下啊。看着啊,现在是零三去等于零二啊SH。直接写幺九二点幺六八点八八点。你会发现,这个时候呢,他并没有像之前那样询问我要入得的密码,而是直接告我。Last就是提示你上次登录这个机器时的时间。
17:05
以及上次从哪儿登录的OK?那了。这个地方还说明另外一个问题上问题。那就是我们的。密钥对的登录验证模式的优先级要高于我们的密码的登录验证优先级。注意,密对的登录验证优先级要高于密码的登录验证优先级。这就是我们关于。SSH。在Linux主机之间进行使用密钥登录验证时的一个登录验证过程。这个地方看一下啊,该用户名要和用来登录对方服务器的用户名一致,这个用户名要和未来你登录对方时的那个用户名一致,再一个。客户端尝试登录,我们已经尝试登录了。验证的结果就是密队的优先级大于丈。
18:01
这个没有问题吧。好了,那我们的这个关于喵对验证的实验,我们就讲到这,这节课我们就先讲到这儿,我们下节课再见。
我来说两句