Hadoop学习笔记——如何解决启动HDFS集群时的免密登录 (SSH协议)

一、SSH原理

大数据集群中的计算机之间需要频繁通信,但是Linux系统在相互通信中需要进行用户身份认证,也就是输入登录密码。在集群规模不大的情况下,可以适用,但是如果集群有几十台、几百台甚至几千台计算机,频繁的认证(输入密码)会增加任务负担,降低工作效率。因此,实际的集群需要进行免密登录(即不用输入密码即可实现从A服务器登录到B服务器中)。

由上图A服务器登录B服务器的免密登录过程,说明SSH(免疫登录)原理:

1.    A服务器登录B服务器,A需要生成一对(公钥,私钥)

2.    将A的公钥配置在B的信任文件(Authorized_keys)中

3.    A登录B服务器,并发送数据,数据用A的私钥进行加密。

4.    B要在信任文件(Authorized_keys)中进行匹配A的公钥并进行解密

5.    匹配成功后,B会根据“公钥+数据”信息发送给A,进行质询

6.    A收到B发来的质询,A使用A的私钥进行解密,并将解密结果发送给B

最后,B进行对比,一致则登录成功

总结就是:服务器A做的事情——》

i).生成公钥和私钥,并将公钥发给B

ii).发送数据给B,用私钥加密;

iii).收到B用公钥加密的数据,用私钥解开

服务器B做的事情——》

i).收到A发来的公钥

ii).收到A发送的用私钥加密的数据,并用公钥给解开

iii).将解密后的数据,加上公钥,发给A


二、设置SSH免密登陆

注:举例中主机名为hadoop01的服务器实现免密登录到主机名hadoop02中。

切换到需要设置免密登陆用户的家目录,并进入到.ssh目录(若没有.ssh目录,使用ssh连接别的服务器,就会生成这个文件夹) 注:哪台服务器配置了免密登陆,该服务器登陆别的服务器就不需要密码

1.在.ssh目录下输入如下命令,并(回车四次)生成密钥

[root@hadoop01 .ssh]# ssh-keygen -t rsa

“ssh-keygen”通过参数“-t”指定加密算法,这里的参数rsa表示采用RSA加密算法。RSA加密算法是一种典型的非对称加密算法,它基于大数的因式分解这种数学难题,是引用最广泛的非对称加密算法之一。

2.公钥拷贝到其他服务器(其他服务器的用户目录.ssh文件会保存公钥到authorized_keys文件下)

[root@hadoop01 .ssh]# ssh-copy-id hadoop02

3.将生成免密登陆密钥的机器,也把公钥拷贝到自己的authorized_keys文件下   

[root@hadoop01 .ssh]# ssh-copy-id hadoop01

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三月的一天

你的鼓励将是我前进的动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值