开发者学堂课程【2020版大数据实战项目之 DMP 广告系统(第二阶段): CDH 搭建_免密登录】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/677/detail/11765
CDH 搭建_免密登录
在 hadoop 当中可以使用一个叫做 startall
的命令或者 start hdfsal
l ,该命令可以把所有有关 hdfs 的服务一次性全部打开,包括在 CDH 01里运行的服务,也包括 CDH 02、03里的服务全部打开。其实是使用 SSH 免密登录做到的。所以在 SSH 免密登录这一环节也要进行一次配置,需要配置 NOTE 01即 CDH 01必须能够免密登录到 CDH 02和 CDH 03上;包括它自己也必须能 SSH 登进去。
一、免密登录的原理
1.SSH 的两种验证方式(登录方式)
第一种,比如客户端访问服务器端,即一个客户端要访问一个服务器端,就要登录服务器端给客户端一个公钥,然后把密码发过去,让服务器端进行解密,这是第一种登录方式,即使用密码来进行登录。
另一种方式是从客户端登录到服务端,但特殊的一点是,不需要输密码,利用了非对称加密的特性,即客户端会先生成一个公钥,再生成一个私钥,客户端保留私钥,把公钥给到服务器端。接下来,客户端告诉服务器要登录,服务器返回给客户端一个随机的字符串,客户端用私钥把随机的字符串加密以后再发给服务器。这时,服务器就可以使用公钥去解密这一串随机的字符串;并且只有私钥才能够加密和公钥配对的加密字符串,所以,服务器就会认为这个客户端是可信的,就会让它进行登录;这就是免密登录的原理。
从头到尾不需要介入任何事情,只需配置公钥即可。
2.步骤
首先,在客户端当中进行密钥的生成;其次,把生成的密钥即公钥拷贝到服务机当中,直接使用SSH的命令即可。
3.操作演示
首先,进入到 CDH 01里,输入 ssh - keygen - t rsa
进行生成,按回车即可。
可以输入 ls - a
查看公钥与私钥的位置,会出现一个 . ssh 的目录。
之后可以输入 cd . ssh
,可以看到第三行 id _ rsa 就是私钥; id _ rsa.pub 就是公钥。
这时, SSH 的目录是在这个用户的目录下,所以这个公钥的生成是针对某一个用户的。之后需要输入 ssh - copy - id
,就是把公钥复制给对应的服务器主机。首先第一个是 root @ cdh 01
。
这时,就可以将它拷贝到 cdh 01上,输入 Yes 后,没有问题。
接下来输入密码,这时整个的过程就已经结束。
在没问题之后,输入 clear
进行清空。就已经把公钥拷贝给了cdh 01。接下来在输入 ssh - copy - id cdh 02
,输入 yes、输入密码后,没有问题。
输入 ssh - copy - id cdh 03
,输入 yes、输入密码。这时,就已经创建成功。
其实 cdh 02和 cdh 03不配置也行,只要能在 cdh 01里进行免费登录即可。这就是免密登录的配置。